Helsingin yliopisto - Tietojenkäsittelytieteen laitos

581360-3 Ohjelmistoprojektien johtaminen (3 ov), kevät 2001

- Ajankohtaista

Kurssimonisteen 2. osa on painossa ja tulee todennäköisesti monistemyyntiin perjantaina 27.4. Hinta on noin 30 mk.

- Yleistä

Kurssi on tietojenkäsittelytieteen laudaturkurssi, joka sopii erinomaisesti ainakin laitoksen
ohjelmistotekniikan erikoistumislinjan valinnaiseksi kurssiksi. Kurssilla oletetaan sekä Ohjelmistotuotanto että Ohjelmistotuotantoprojekti suoritetuiksi.

Kurssilla kehitetään taitoja, joita tarvitaan ohjelmistokehityshankkeiden projektipäällikön tehtävissä. Tällaiset tehtävät eivät vaadi niinkään ohjelmistoteknistä osaamista, vaan tärkeintä ovat sosiaaliset valmiudet, yleinen johtamistaito, kommunikointikyky ja säntillisyys. Kurssilla pyritään antamaan laaja yleiskuva erilaisista projektityypeistä, niiden asettamista vaatimuksista projektien onnistuneelle läpiviennille, projektien tyypillisistä vaiheista sopimuksineen ja suunnitelmineen sekä näihin kaikkiin liittyvistä projektipäällikön tehtävistä. Luennoilla käsiteltyjä teemoja harjoitellaan kurssin aikana tehtävässä harjoitustyössä.

Kurssin suorittaneet opiskelijat eivät automaattisesti ja välittömästi ole ammattimaisia projektipäälliköitä, vaan ammattimaisuus syntyy vasta työelämässä kokemuksen kautta. Kurssi pyrkii kuitenkin antamaan valmiudet ymmärtää teollisissa projekteissa vastaantulevia ongelmia, varautua niihin ja suoriutua niistä kunnialla.

- Suoritustapa

Kurssilla on normaaliin tapaan luentoja ja harjoituksia. Luentoihin perustuvissa harjoituksissa opiskelijat vievät ryhminä läpi todentuntuisen projektin alkaen sen määrittelystä ja kulkien tarjouskilpailun, suunnittelun ja suorittamisen kautta projektin päättämiseen. Harjoitustyö kaikkine osineen on pakollinen. Lisäksi kurssin päätteeksi järjestetään tentti, joka myös on suoritettava hyväksyttävästi. (Hylätyn) tentin voi uusia seuraavina lukukausina, mutta hylättyä tai keskenjäänyttä harjoitustyötä ei voi uusia tai korvata muulla tavoin.

- Arvostelu

Kurssista ei anneta tavanomaista numeerista arvosanaa (1- ... 3), vaan se arvostellaan asteikolla hyväksytty - hylätty. Tämä pätee myös tenttiin ja harjoitustyöhön, joista molemmista annetaan kuitenkin arvioivia kommentteja.

- Kouluttajat

- Kurssin sisältö

  1. Kurssin aloitus
    • Kurssin tavoitteet
    • Kurssin sisältö
    • Kurssin suoritustapa
  2. Projektityön perusteet
    • "Projektin" määritelmä
    • Projektin sidosryhmät ja verkostot (tilaaja, tuottaja, käyttäjä, alihankkijat, partnerit)
    • Projektiorganisaatio
    • Projektiryhmän sisäiset roolit
    • Erilaiset projektityypit (tuotekehitysprojekti, valmiin tuotteen toimitusprojekti, tuotteen ylläpitoprojekti, tutkimus- ja innovointiprojekti, ulkoistusprojekti) ja tyypin vaikutus projektin läpivientiin
    • Tuotteen elinkaari, "vuosikello"
  3. Liiketoimintanäkökulma - projekti kannattavaksi
    • Projektin kokonaisvaltainen suoritusprosessi
    • Tarjouspyyntö, tarjouskilpailu ja tarjous
    • Projektissa laadittavat sopimukset: IT2000-sopimusehdot
    • Projektin myynti
    • Asiakkaan vaatimusten ja toiveiden kartoitus
  4. Projektin suunnittelu
    • Projektin vaiheet
    • Projektityypin vaikutukset projektin vaiheisiin
    • Projektisuunnitelman sisältö
    • Aikataulun laatiminen: COCOMO-malli, historiatieto
    • Tehtävien jako projektin sisällä
    • Projektisuunnittelun työkalut
  5. Projektin johtaminen - "management"
    • Projektipäällikön tehtävät
    • Millainen on hyvä projektipäällikkö?
    • Projektin resursointi, ryhmän kokoaminen
    • Projektin laadunvalvonta
  6. Projektin johtaminen - "leadership"
    • Karisma, esiintymistaito, johtajuus
    • Asiantuntijayhteisön johtaminen
    • Yksilöistä ryhmäksi ja ryhmästä tiimiksi
    • Ristiriidoista, kriiseistä ja ongelmista onnistumiseen
    • Kehityskeskustelut, tavoitteiden asettaminen ja seuranta
    • Palautteen antaminen, palkitseminen, kannustepalkkaus
  7. Projektin seuranta
    • Projektikokoukset: tarkoitus, osallistujien roolit, kokouksen kulku, puheenjohtajan tehtävät
    • Aikataulu- ja kustannusseuranta
    • Riskien hallinta
    • Raportointi
    • Asiakastyytyväisyyden mittaaminen ja varmistaminen
  8. Kokemuspankki
    • Onnistuneen projektin tunnusmerkit
    • Suurimmat syyt projektien epäonnistumiselle
    • Projektipäällikön osuus projektin (epä)onnistumisesta
    • Olenko juuri minä hyvä projektipäällikkö?

- Luennot

Kurssille on varattu säännölliseksi koulutusajaksi 12.3.-7.5.2001, maanantait klo 10-14 salissa A320. Kurssille on lisäksi varattu sali B450 samoina päivinä klo 12-14. Pääsiäismaanantaina 16.4 ei ole opetusta.

Kurssille varattu aika jakaantuu luentoihin ja ohjattuihin harjoituksiin aikataulussa ilmoitetulla tavalla.

- Harjoitukset

Kurssin aikana tehdään harjoitustyö, jossa käydään läpi kaikki tyypillisen ohjelmistoprojektin vaiheet alkaen tarjouskilpailusta ja päättyen tuotteen luovuttamiseen. Harjoitustyö tehdään kahdessa ryhmässä, joista toista ohjaa ja valvoo Jukka Paakki ja toista Osmo Wilska.

Harjoitustyön eri vaiheet limittyvät luentojen kanssa siten, että jokainen vaihe suoritetaan välittömästi sen jälkeen kun vastaava osuus on käsitelty luennoilla. Harjoitustyön vaiheisiin liittyy myös itsenäistä kotitehtäviksi annettua valmistelua. Harjoitustyötä käydään läpi ja arvioidaan ryhmittäin kurssille varattuna aikana (maanantait 10-14) kurssin aikataulun mukaisesti.

Harjoitustyö simuloi todellista yritysprojektia. Siihen kuuluvat seuraavat vaiheet:

  1. Tarjouskilpailun julistaminen ja tarjouksen laatiminen annetun vaatimusmäärittelyn pohjalta
  2. Projektisuunnitelman tarkentaminen tarjouksen pohjalta ja tarvittavien sopimusten laatiminen
  3. Tiimiytyminen: projektiryhmän sisäinen työnjako ja hengen luonti, ongelmatilanteiden ratkominen
  4. Projektin seurantakokous ja raportointi
  5. Projektin päätöskokous yhdessä sen johtoryhmän kanssa: tuotteen luovutus

Osaharjoitus 1: Tarjouskilpailu

Asiakas

Helsingin Veden nykyinen asiakaspalvelujärjestelmä on tullut liian kalliiksi jatkokehittää ja ylläpitää. Niinpä Helsingin Veden tavoitteena on ottaa käyttöön kokonaan uusi asiakaspalvelujärjestelmä, joka sisältää asiakashallintaan, sopimuksiin, liittymiin, mittareihin ja vesilaskutukseen liittyvät toiminnot. Ohjelmiston tulee olla nykyaikainen vesilaitoksille suunnattu tuoteohjelmisto.

Ohjelmiston tulee vastata ominaisuuksiltaan mahdollisimman täydellisesti sen toiminnallisessa määrityksessä kuvattuja tuoteominaisuuksia; kts. dokumentti Helsingin Veden asiakaspalvelujärjestelmä - Toiminnallinen määritys. Ohjelmisto toteuttaa määrittelyn liitteenä olevan kuvan Asiakaspalvelujärjestelmä ja liittymät muihin järjestelmiin keskellä olevan kokonaisuuden (liittymisasiat, mittareiden käsittely, laskutus/sopimukset, talousveden kuljetus, maksutarkkailu ja perintä) ja sisältää rajapinnat / liittymät muihin ko. kuvassa oleviin järjestelmiin (MAHTI, rakennusvalvontavirasto, ...).

Asiakaspalvelujärjestelmässä on laskutettavia liittyjäkiinteistöjä noin 25.000. Laskujen viikottainen lukumäärä on 1000 - 3000 kappaletta. Vesimittareita on asennettuna 30.000 kappaletta, ja vuosittain niistä vaihdetaan noin 5500 mittaria. Vesimittarilukemien ilmoittamista varten postitetaan asiakkaille noin 50.000 - 60.000 kirjettä vuodessa. Koska järjestelmä on elimellinen osa Helsingin kaupungin teknistä infrastruktuuria, sen on oltava luotettava ja riittävän tehokas.

Järjestelmällä on parikymmentä (yhtäaikaista) käyttäjää: asiakaspalveluhenkilöitä, sopimusten kirjaajia, laskuttajia, vesiliittymien asentajia ja taloussihteereitä.

Asiakkaan esittämä toive toteutusprojektin kestolle on 8-12 kk. Sen jälkeen on varauduttu noin 4 kuukauden pituiseen tuotantokäyttöönottovaiheeseen ja useamman vuoden käyttö- ja ylläpitovaiheeseen.

Koko ohjelmiston arvioitu koko on noin 800.000 riviä ohjelmakoodia. Tähän sisältyvät sekä projektissa tuotettava uusi koodi että mahdolliset uudelleenkäytettävät ja projektissa räätälöitävät ohjelmistokomponentit.

Tarjouksen sisältö

Toimittajien tekemissä tarjouksissa on kuvattava seuraavat asiat. Tarjous saa olla pituudeltaan enintään 10 sivua. Tarjous tulee toimimaan pohjana valitun toimittajan myöhemmin laatimalle varsinaiselle projektisuunnitelmalle.

Kehitettävä ohjelmisto on useammalle mahdolliselle asiakkaalle (ei pelkästään Helsingin Vedelle) suunnattu ohjelmistotuote eli "valmisohjelmisto". Oletetaan, että tuotantolaitteet tulevat projektin käyttöön isomman talon kanssa tehtävän yhteistyön kautta, joten niiden hankinta ei kuulu tähän projektiin.

Tarjouksen laatimisessa on käytettävä COCOMO-mallin versiota II soveltuvin osin.

Tarjouksen tulee sisältää kaikki käytetyt (COCOMO-)kaavat.

Huom! Ohjelmiston arvioidun koon (800.000 riviä) perusteella laskettu COCOMO-arvio projektin kestolle on melkoisen suuri suhteutettuna asiakkaan esittämään toiveeseen (8-12 kk). Ongelman voi ratkaista ainakin kahdella tavalla, joista jälkimmäinen on huomattavasti realistisempi: (1) Tarjous laaditaan COCOMOn mukaan, jolloin siinä ehdotettu projektin pituus saattaa olla runsaastikin yli 12 kk. Aikataulu rukataan myöhemmin sopivaksi, kunhan kaikki tarjoukset on laadittu, asiakkaan edustajat (kurssin ohjaajat) ovat niihin perehtyneet ja tarjousten pohjalta ryhdytään laatimaan varsinaista tarkennettua projektisuunnitelmaa. (2) Oletetaan, että toimittajalla on jo valmiina toimivia ohjelmistokomponentteja ja tuoterunkoja, joista räätälöimällä saadaan merkittävä osa vesijärjestelmässä tarvittavasta ohjelmistosta. Tällöin uuden koodin määrä voi olla murto-osa koodin kokonaismäärästä. COCOMO-arvio projektin kestolle perustuu nyt uuden koodin määrään, ja näin saatuun perusarvioon lisätään valmiiden komponenttien/runkojen räätälöintiin tarvittava aika, jolloin saadaan arvio koko projektin kestolle.

Toimittaja

Toimittajaehdokas on pienehkö tai keskisuuri (20-200 työntekijää) ohjelmistotalo, joka on aikaisemmin läpivienyt kunnialla joitakin pienempiä vastaavantyyppisiä projekteja. Näin ollen toimittajalla on valmiita tuoterunkoja, joita se voi uudelleenkäyttää ja sovittaa tähän projektiin soveltuviksi. Talolla on vakaa aikomus nousta merkittäväksi ohjelmistoalan peluriksi, mihin se tarvitsee ainakin yhden suuremman ja näyttävän projektin. Helsingin Veden tilaama projekti olisi juuri tällainen referenssi.

Toimittajalla on töissä muutama kokenut konkari, erityisesti suunnittelu- ja ohjelmointipuolella, mutta esimerkiksi kaikki potentiaaliset projektipäälliköt ovat varsin kokemattomia. Toimittaja ei käytä tässä projektissa alihankkijoita eikä myöskään fuusioidu toisen toimittajan kanssa.

Tarjous on laadittava yo. varsin yleisen raamin puitteissa. Tarkennuksena voi käyttää oman todellisen työpaikan profiilia, mutta muut tarvittavat tiedot on valittava realistisesti keksimällä. "Realistisista" tarkennuksista on syytä keskustella yhteisesti harjoitustyön ohjaajien kanssa.

Jokainen toimittaja (opiskelija) esittelee oman tarjouksensa pääkohdat maanantaina 2.4 klo 10 - 14 (max. 15 minuuttia). Kaikkien toimittajien on oltava paikalla koko ajan. Poikkeuksena ovat Isto Nikula ja Lasse Nordlund, jotka esittelevät omat tarjouksensa julkisesti maanantaina 9.4 (luento-osuuden jälkeen).

Osaharjoitus 2: Projektisuunnitelma ja sopimukset

Edellisessä harjoituksessa tehty tarjous tarkennetaan varsinaiseksi projektisuunnitelmaksi ja toimitussopimukseksi. Projektisuunnitelman sisältö noudattaa luennoilla esitettyä runkoa. Toimitussopimuksen laatimiseen voi käyttää IT2000-sopimusehtoja ja niihin liittyviä sopimusrunkoja. Tällöin sopimus koostuu (1) valmisohjelmistojen toimitussopimuksesta sekä sen liitteinä olevista (2) erityisehdoista valmisohjelmistojen toimituksista (EVT) ja (3) yleisistä sopimusehdoista (YSE).

Kurssille hankittua IT2000-sopimusehtojen oppilaitosversiota saa käyttää elektronisessa muodossa vain, jos on allekirjoittanut sitoumuksen, ettei luovuta ko. sopimusehtoja eteenpäin kenellekään. Muussa tapauksessa toimitussopimus on laadittava muilla keinoin. Jukka Hirvonen: ota yhteyttä Jukka Paakkiin.

Projektisuunnitelma ja toimitussopimus on palautettava viimeistään torstaina 19.4 Jukka Paakille, esimerkiksi vastaanottoaikana (klo 10:00-10:30, huone D411).

Projektin tarkennuksia projektisuunnitelman laatimista varten:

Projektisuunnitelman on kuvattava mahdollisimman konkreettisesti, "miten me sen teemme".

Osaharjoitus 3: Projektin seuranta ja kokoukset

Tausta

Projektisuunnitelman mukaan HV-projektin kesto on rakennusvaiheen osalta 12 kuukautta (1.9.2000 - 31.8.2001), jonka jälkeen on 4 kuukauden koulutus- ja käyttöönottovaihe (1.9.-31.12.2001). Toteutus- eli koodausvaiheeseen on varattu 6 kuukautta (1.1.-30.6) ja sitä seuraavaan testausvaiheeseen (integrointi-, järjestelmä- ja hyväksymistestaus) 2 kuukautta (1.7.-31.8). Projektin hinnaksi on sovittu 10 miljoonaa markkaa, josta voittoa toimittajalle on 1 miljoona.

Asiakas on valmistautunut järjestelmän koulutus- ja käyttöönottovaiheeseen varaamalla tarvittavat koulutustilat ja -ajat, rakentamalla yhdessä toimittajan kanssa käyttöönottoympäristön sekä perustamalla omista asiantuntijoistaan ja järjestelmän loppukäyttäjistä koostuvan käyttöönottoryhmän. Käyttöönottoryhmä on järjestäytynyt varaamalla kalentereista tietyt koulutusajat ja laatimalla käyttöönottoaikataulun. Asiakas luopuu nykyisestä vesijärjestelmästään 1.1.2002, jolloin sen ylläpitäjät siirtyvät jo sovittuihin muihin tehtäviin. Nykyistä järjestelmää koskevat sopimukset päättyvät 31.12.2001.

Asetelma

HV-projekti on edennyt toteutusvaiheen loppupuolelle. Projektiryhmä huomaa, että järjestelmän määrittely on ollut puutteellinen ja että toimittajan perusrunkoa ei pystytäkään käyttämään siinä määrin (90%) kuin alun perin luultiin. Täten uuden toteutuskoodin määrä nousee kaksinkertaiseksi suunnitellusta (10% -> 20%), eikä siitä ole vielä valmiina kuin murto-osa. On selvää, että sekä projektin työmäärä ja aikataulu että kustannusarvio tulevat ylittymään reilusti. Projektipäällikkö ei vielä tiedä ongelmasta mitään. Asiakas uskoo aiemmin käytyjen johtoryhmäkokousten perusteella, että projekti toimii aikataulunsa ja budjettinsa raameissa.

Osaharjoitus 3.1: Projektiryhmän sisäinen seurantakokous

Valitaan opiskelijat seuraaviin rooleihin:

3.1.1. Aluksi kaikille kerrotaan HV-projektin tausta (kts. yllä).
3.1.2. Projektipäällikölle ei paljasteta projektia uhkaavaa katastrofia, vaan hän poistuu paikalta, ja sinä aikana muulle ryhmälle kuvataan projektin ongelma-asetelma (kts. yllä).
3.1.3. Vedetään PP:n johdolla seurantakokous, jossa projektiryhmä (pääasiassa OV ja SV) kertoo hänelle tilanteen. Kokouksessa on päätettävä, millä strategialla lähdetään (a) esittelemään ongelmaa asiakkaalle ja (b) neuvottelemaan tämän kanssa muutoksista projektin aikatauluun ja budjettiin. Neuvotteluihin on pakko ryhtyä, koska projektin saaminen takaisin aikatauluunsa rekrytoimalla suhteellisen varattomaan yritykseen lisää resursseja eli ohjelmoijia on lähes mahdotonta IT-alan ylikuumenneessa työmarkkinatilanteessa. Sihteeri S kirjaa strategian pääkohdat eli toimenpideluettelon kaikkien nähtäville, mutta varsinaista kokouspöytäkirjaa ei laadita.

Osaharjoitus 3.2: Projektin johtoryhmän kokous

Projektin johtoryhmä kokoontuu asiakkaan edustajan (Jukka Paakki / Osmo Wilska) toimiessa puheenjohtajana. Kokouksessa käydään läpi normaali asialista, jolloin asiakkaalle paljastuu projektissa vastaantullut ongelma. Kokouksessa on päästävä sopimukseen projektin jatkosta ja mahdollisista muutoksista projektisuunnitelmaan.

Jokainen opiskelija projektipäällikköä PP lukuunottamatta harjoittelee sihteerinä toimimista ja laatii kokouksesta pöytäkirjan, joka liitetään opiskelijan omaan loppuraporttiin (harjoitus 5). Tämän lisäksi opiskelijat ovat kokouksessa mukana toimittajaa edustavina asiantuntijoina, ja PP on projektin vastuuhenkilönä toimittajan puhemies kokouksessa.

Osaharjoitus 3.3: Mitä tästä opittiin?

Molemmat opiskelijaryhmät kokoontuvat käymään läpi harjoituksessa opittuja asioita:

Osaharjoitus 4: Työskentelytyylit, vuorovaikutustaidot

Maanantaina 7.5.2001 klo 10-13, kouluttajana Markku Pispa (Laatutaidot).

Osaharjoitus 5: Projektin loppuraportti 7.5.2001

Jokainen opiskelija laatii omasta projektistaan loppuraportin, jonka pääsisältö on seuraava:
  1. Tuotteen ja asiakkaan yleiskuvaus
  2. Yhteenveto projektista (organisaatio, tuotetut dokumentit ja raportit, suunnitellun aikataulun toteutuminen, yhteenveto toteutuneesta henkilötyöstä verrattuna suunnitelmaan, yhteenveto toteutuneista kustannuksista verrattuna suunnitelmaan, suurimmat projektiin tehdyt muutokset, viittaus alkuperäiseen projektisuunnitelmaan)
  3. Yhteenveto tuloksista (tuotettu järjestelmä verrattuna vaatimusmäärittelyyn, projektissa tehty laadunvarmistus)
  4. Yhteenveto projektin hallinnasta (johtoryhmäkokousten ja sisäisten seurantakokousten määrä ja ajankohta, ulkoisten laadunvarmistustoimien sisältö ja ajankohta)
  5. Sisäinen arviointi projektista (post mortem) (mikä meni hyvin ja mikä huonosti, mitä opittiin, projektiryhmän kokemukset ja tuntemukset projektista, mitä tehtäisiin eri tavalla)
  6. Liitteet (alkuperäinen projektisuunnitelma, kokouspöytäkirjat)

Loppuraporttiin on kirjattava erityisesti harjoituksessa 3 esiinnoussut ongelma sekä sen ratkaisutapa ja vaikutukset projektisuunnitelmaan. Johtoryhmäkokouksen pöytäkirja (harjoitus 3.2) on loppuraportin liite (ei koske projektipäälliköitä PP). Kaikki muut loppuraporttiin kirjattavat asiat ovat projektisuunnitelman puitteissa opiskelijoiden päätettävissä.

- Aikataulu

Kurssi alkaa maanantaina 12.3.2001 klo 10:15 salissa A320.

Ensimmäinen tenttimahdollisuus on maanantaina 14.5.2001 klo 16-20 yliopiston päärakennuksen salissa 1. Tähän "välikokeen" nimikkeellä olevaan tenttiin ei tarvitse ilmoittautua erikseen. Sen sijaan myöhemmin järjestettäviin "loppukokeisiin" eli "uusintakuulusteluihin" on ilmoittauduttava.

Luento- ja harjoituspäivät:

- Luentomoniste

Luennot ja harjoitustöissä tarvittava aineisto julkaistaan kaksiosaisena kurssimonisteena. Tavoitteena on, että monisteen 1. osa tulee myyntiin ennen kurssin aloittamista ja sen 2. osa viikolla 17 (23.-27.4).

- Kirjallisuutta

- IT2000-sopimusehdot

- Harjoitusten ryhmäjako

Kurssin opiskelijavalinta perustui ensi sijassa (a) opintojen määrään ja tasoon, (b) tämän kurssin ja muiden opintojen yhteensopivuuteen ja (c) tämän kurssin merkitykseen opintojen loppuunsaattamiselle (erityisesti perustutkinnon suorittamiselle).

Ryhmä 1 (Jukka Paakki)

Ryhmä 2 (Osmo Wilska)


jukka.paakki@cs.helsinki.fi
Viimeksi päivitetty 11.5.2001