Helsingin yliopisto - Tietojenkäsittelytieteen laitos

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

- Ajankohtaista

Luentomoniste (numero D 416) on myytävänä laitoksen monistemyynnissä.

Harjoituksen 1 (tarjouskilpailu) kuvaus on kohdassa Harjoitukset. Harjoituksen kohteena olevan järjestelmän vaatimusmäärittelyn saa pyytämällä sitä sähköpostitse oman harjoitusryhmän vetäjältä (Jukka Paakki, Osmo Wilska). Toisin kuin luennolla 22.3 puhuttiin, ei toimitussopimuksia laadita vielä tässä vaiheessa, vaan vasta projektisuunnitelman yhteydessä (harjoitus 2).

- 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 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 arvioivaa palautetta.

- Kouluttajat

- Kurssin sisältö

  1. Kurssin aloitus
    • Kurssin tavoitteet
    • Kurssin sisältö ja aikataulu
    • Kurssin suoritustapa
  2. Projektityön perusteet
    • "Projektin" määritelmä
    • Projektitoiminnan keskeiset käytännöt
    • Projektin sidosryhmät ja verkostot (tilaaja, tuottaja, käyttäjä, alihankkijat, partnerit)
    • Projektiorganisaatioita
    • Erilaiset projektityypit (tuotekehitysprojekti, valmiin tuotteen toimitusprojekti, tuotteen ylläpitoprojekti, tutkimus- ja innovointiprojekti, ulkoistusprojekti) ja tyypin vaikutus projektin läpivientiin
    • Tuotteen elinkaari
  3. Liiketoimintanäkökulma - projekti kannattavaksi
    • Projektin kokonaisvaltainen suoritusprosessi
    • Tarjouspyyntö, tarjouskilpailu ja tarjous
    • Projektissa laadittavat sopimukset: IT2000-sopimusehdot
    • Projektin myynti
    • Asiakassuhteen kehittäminen
  4. Projektin suunnittelu
    • Projektin vaiheet
    • Projektityypin vaikutukset projektin vaiheisiin
    • Projektisuunnitelman sisältö
    • Aikataulun laatiminen: COCOMO-malli
  5. Projektin johtaminen - "management"
    • Suorituksen, osaamisen ja tiedon johtaminen
    • Projektiryhmän tuottavuus
  6. Projektin johtaminen - "leadership"
    • Henkilöstöjohtaminen
    • Millainen on hyvä projektinjohtaja?
  7. Projektin seuranta
    • Kokoukset: tarkoitus, osallistujien roolit, kokouksen kulku, puheenjohtajan tehtävät
    • Projektin laadunvarmistus
    • Aikataulu- ja kustannusseuranta
    • Raportointi
  8. Yrityskulttuuri
    • Erilaiset organisaatiotyypit
    • Asiantuntijayhteisön erityispiirteet
    • Erilaiset työntekijälajit
  9. Tiimityö
    • "Tiimin" määritelmä
    • Miksi "leadership" pikemminkin kuin "management"?
    • Tiimin sisäiset roolit
    • Erilaiset persoonallisuustyylit
  10. 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 8.3.-10.5.2002, perjantait klo 10-14 salissa A320. Lisäksi harjoitustyön purkamista varten on käytössä toinenkin sali.

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 (tietyt perjantait 10-14) kurssin aikataulun mukaisesti.

Harjoitustyö simuloi todellista ohjelmistoprojektia. 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.

Harjoitus 1: Tarjouskilpailu

Osuuspankki haluaa uudistaa matkavaluuttajärjestelmänsä ja on käynnistänyt tarjouskilpailun järjestelmän toimittamiseksi. Matkavaluuttajärjestelmästä on laadittu vaatimusmäärittely, jota tulee käyttää tarjousten ja projektisuunnitelmien pohjana. Vaatimusmäärittelyä ei saa levittää tämän kurssin ulkopuolelle, joten sen saavat ainoastaan kurssilaiset sähköpostitse kurssin kouluttajilta. Yleisempi matkavaluuttajärjestelmän kuvaus on julkaistu artikkelina Systeemityö-lehdessä.

Joitakin täsmennyksiä vaatimusmäärittelyyn:

Tilaajan toivomuksena on saada projekti läpiviedyksi 10-14 kuukaudessa. Toimittajan suorittaman testauksen jälkeen järjestelmä siirretään lopulliseen järjestelmä- ja hyväksymistestaukseen pankin testijärjestelmään. Tästä testausvaiheesta vastaa Osuuspankki, mutta järjestelmän toimittajan on syytä varautua havaittujen vikojen korjaamiseen osana toimitusprojektia. Järjestelmän arvioitu koko on noin 200.000 riviä ohjelmakoodia.

Tarjouksen sisältö

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

Projektin kestoa arvioitaessa on käytettävä apuna COCOMO-mallin versiota II soveltuvin osin: tarjouksesta on käytävä ilmi esitetyn aikataulun ja henkilömäärän lisäksi COCOMO-mallilla laskettu työmäärä henkilötyökuukausina (PM, person months).

Kehitettävä järjestelmä on IT2000-sopimusehtojen termein ns. "asiakaskohtainen ohjelmisto". Mikäli toimittaja haluaa tarjota myös järjestelmän jatkokehitys- ja ylläpitopalvelua, on toimitusprojektin jälkeinen ylläpitoprojekti mainittava tarjouksessa.

Toimittaja

Toimittajaehdokas on pienehkö (30-40 työntekijää) ohjelmistotalo, joka on aikaisemmin läpivienyt kunnialla joitakin pienempiä vastaavantyyppisiä projekteja. Talolla on vakaa aikomus nousta merkittäväksi ohjelmistoalan peluriksi, mihin se tarvitsee ainakin yhden suuremman ja näyttävän projektin. Tämä projekti olisi juuri tällainen referenssi. Toimittajalla ei ole varsinaista tuoterunkoa, jota se voisi käyttää tämän matkavaluuttajärjestelmän perustana.

Toimittajalla on töissä muutama kokenut konkari, erityisesti suunnittelu- ja ohjelmointipuolella, mutta esimerkiksi kaikki potentiaaliset projektipäälliköt ovat melko 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 realistisella intuitiolla. "Realistisista" tarkennuksista voi keskustella harjoitustyön ohjaajien kanssa.

Jokainen toimittaja (opiskelija) palauttaa kirjallisesti oman tarjouksensa ja esittelee sen pääkohdat perjantaina 5.4 klo 10 - 14 (max. 20 minuuttia). Kaikkien toimittajien on oltava paikalla koko ajan. Poikkeuksena on Petteri Kamppuri, joka esittelee oman tarjouksensa 12.4 olevan luennon aluksi. (Myös hänen on kuitenkin jätettävä tarjous kirjallisena viimeistään 5.4.)

Harjoitus 2: Projektisuunnitelma ja sopimukset

Edellisessä harjoituksessa tehty tarjous tarkennetaan varsinaiseksi projektisuunnitelmaksi. Projektisuunnitelman liitteinä on annettava toimitussopimus ja sitä koskevat sopimusehdot: esimerkiksi IT2000-sopimusehtojen EAT-osa (erityisehtoja asiakaskohtaisen ohjelmiston toimituksesta). Mikäli toimittaja tarjoaa myös toimituksen jälkeistä ylläpitoprojektia, on liitteenä annettava myös sitä koskeva ylläpitosopimus sopimusehtoineen (esimerkiksi IT2000:n EOY-osa: erityisehtoja ohjelmistojen ylläpitopalveluista).

Projektisuunnitelman sisältö noudattaa luennoilla esitettyä runkoa. Toimitussopimuksen laatimiseen voi käyttää IT2000-sopimusehtoja ja niihin liittyviä sopimusrunkoja.

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.

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

Harjoitus 3: Projektin seuranta ja kokoukset

Osaharjoitus 3.1: Projektiryhmän sisäinen seurantakokous

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 kokousta varten ryhmästä valittua projektipäällikköä PP lukuunottamatta harjoittelee sihteerinä toimimista ja laatii kokouksesta pöytäkirjan, joka liitetään opiskelijan omaan loppuraporttiin (harjoitus 4). Tämän lisäksi opiskelijat ovat kokouksessa mukana toimittajaa edustavina asiantuntijoina, ja PP on projektin vastuuhenkilönä toimittajan virallinen edustaja kokouksessa.

Osaharjoitus 3.3: Mitä tästä opittiin?

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

Harjoitus 4: Projektin loppuraportti

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 (ns. 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 (osaharjoitus 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 on alkanut perjantaina 8.3.2002 klo 10:15 salissa A320.

Ensimmäinen tenttimahdollisuus on tiistaina 14.5.2002 klo 15-19 salissa Porthania I. Tähän "kurssikokeen" nimikkeellä järjestettävään tenttiin ei tarvitse ilmoittautua erikseen. Sen sijaan myöhemmin järjestettäviin "erilliskokeisiin" on ilmoittauduttava.

Luento- ja harjoituspäivät:

- Luentomoniste

- Kirjallisuutta

Kurssin luento-osuus perustuu monisteeseen, joka sisältää luentokalvojen kopiot.

- IT2000-sopimusehdot

Tätä IT2000-sopimusehtojen oppilaitosversiota saa käyttää elektronisessa muodossa vain, jos on allekirjoittanut sitoumuksen, ettei luovuta ko. sopimusehtoja eteenpäin kenellekään. Sitoumukset kerätään kurssin alkupuolella.

- 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 28.3.2002.