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.
Kurssille varattu aika jakaantuu luentoihin ja ohjattuihin harjoituksiin
aikataulussa
ilmoitetulla tavalla.
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:
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.
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.
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).
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".
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.
3.1.1. Aluksi kaikille kerrotaan HV-projektin tausta (kts. yllä).
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.
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ä.
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.
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ö
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.
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.
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.
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.
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.
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).
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.
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.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.
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:
Aikataulu
Kurssi alkaa maanantaina 12.3.2001 klo 10:15 salissa A320.
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