Blogi 14.11.2011

Prosessimallit eivät ole hopealuoti ohjelmistoprojektien onnistumisessa

Gofore

Kiva kun löysit tämän artikkelin! Se sisältää varmasti hyvää tietoa, mutta pidäthän mielessä, että se on kirjoitettu 13 vuotta sitten.

Monet terveytensä kanssa painiskelevat valitsevat vähähiilihydraattisen ruokavalion hopealuotina terveysongelmiinsa, vaikka oikeampi ratkaisu voisi olla liikunnan lisääminen, tupakanpolton lopettaminen, alkoholin vähentäminen, päivittäisten seisovien pöytien välttäminen, stressin vähentäminen ja säännölliset yöunet.
Samalla tavalla ohjelmistoalalla on usein vallalla käsitys, että oikean prosessimallin valitsemalla projekti onnistuu lähes itsestään.

Projektin onnistumisen kriteerit

Omasta mielestäni projektin tärkeimmät onnistumiskriteerit ovat seuraavat:
1. Realistiset tavoitteet
2. Tiimi
3. Yhteistyö asiakkaan kanssa
4. Prosessimalli
5. Oikeat teknologiat
Jos mikä tahansa kolmesta ensimmäisestä onnistumisen kriteeristä epäonnistuu, on projekti lähes varmasti tuhoon tuomittu. Epärealistiset tavoitteet saavat projektin näyttämään aina epäonnistuneelta, heikko tiimi johtaa olemattomaan tuottavuuteen ja asiakasyhteistyön epäonnistumista seuraa vääränlainen järjestelmä.
Sitä vastoin väärä prosessimalli ei välttämättä tarkoita projektin epäonnistumista. Hyvän tiimi on mahdollista saada projekti onnistumaan tyydyttävästi väärin valitusta prosessimallista huolimatta. Maailman paraskaan prosessimalli ei kuitenkaan toteuta toiminnallisuuksia tai ratkaise teknisiä ongelmia.
Myös väärät teknologiavalinnat voivat viivästyttää projektia. Tekniset ongelmat ovat kuitenkin usein paikallisia ja korjattavissa. Monet projektit ovatkin onnistuneet, vaikka teknologiavalinnat ovat olleet vääriä.

Prosessimalli projektin mukaan

Joka tapauksessa prosessimallin valinnalla on vaikutusta projektin lopputulokseen. Parhaimmillaan prosessimalli nostaa huomattavasti tiimin tuottavuutta ja ratkaisee monia yksittäisiä projektinhallintaan liittyviä ongelmia. Prosessimallin olisi hyvä kattaa koko projektin elinkaari, jotta mallista saadaan paras teho irti.
Prosessimalleja ovat esimerkiksi Scrum, Extreme Programming, Kanban ja Unified Process. Ne ovat toiminnaltaan erilaisia ja sopivat eri käyttötarkoituksiin. Prosessimalleista löytyy runsaasti tietoa Internetistä ja kirjallisuudesta.
Viisas projektipäällikkö tunnistaa oman projektinsa luonteen ja soveltaa projektiin parhaiten toimivaa prosessimallia. Lyhyt projekti, jossa on mukana muutama kokenut asiantuntija, vaatii erilaista lähestymistapaa kuin pitkäkestoinen ja useita kokemattomia ohjelmistokehittäjiä käsittävä projekti. Projektipäällikkö saattaakin ottaa lähtökohdakseen tietyn prosessimallin ja maustaa sitä muiden mallien toimintatavoilla. Tai ehkä projektin lähtökohtana on mahdollisimman kevyt tapa toimia, jolloin prosessimallistakin riisutaan osa pois.
Sovelletun prosessimallin käyttöönotto ei ole viiden minuutin päätös, vaan koko projektin ajan kehittyvä ja seurattava kokonaisuus. Prosessimallin suunnitteluun ja käyttöönottoon osallistuu koko projektitiimi, mutta päävastuu mallista on projektipäälliköllä. Prosessimallia pitää myös tarkastella kriittisesti läpi projektin. Tämä tapahtuu esimerkiksi hyvin suunnitellun retrospektiivin1 avulla sekä projektipäällikön muiden työtehtävien lomassa.

Projektikäytännöt tärkeä osa onnistunutta prosessimallia

Kovin usein prosessimallin käyttö jää liian karkealle tasolle. Tästä seuraa se, että projektissa vain koodataan kunnes järjestelmä on valmis. Projektikäytännöt jalkauttavat prosessimallin yksittäisiksi toimenpiteiksi ja tehtäviksi. Ne ovat luonteeltaan usein toistuvia ja tukevat tiimin päivittäistä työntekoa.
Projektikäytännöt vastaavat esimerkiksi seuraaviin kysymyksiin: ”millä tavalla laatua seurataan projektissa?”, ”mikä on kehittäjän vastuu jokaisen toiminnallisuuden toteuttamisessa?”, ” ”mikä on asiakkaan rooli jokaisen toiminnallisuuden toteuttamisessa?”, ”mitä asioita projektissa dokumentoidaan ja ylläpidetään?”, ”mitä ja miten aputyökaluja projektissa käytetään?” ja ”minkälaisia palavereja projektissa pidetään?”. Osa projektipäällikön ammattitaitoa on hyödyntää projektikäytännöistä koostuvaa työkalupakkia ja tuntea mitä työkalua missäkin tilanteessa tarvitaan.
Seuraavassa blogikirjoituksessa käsittelen tiimin tärkeyttä. Pohdin sitä, mistä aineksista hyvä projektitiimi rakentuu ja mikä rooli projektipäälliköllä on tiimin tuottavuuden kannalta. Lue myös blogisarjan muut osat: Antisuunnittelumalleja projektipäällikön näkökulmasta, Ohjeita työnsä aloittavalle projektipäällikölle ja Hyvä projektipäällikkö: kommunikoija ja päätöksentekijä.
1 retrospektiivi on tapa laadun parantamiselle projektin aikana. Käytännössä se on esimerkiksi kerran iteraatiossa/sprintissä pidettävä määrämuotoinen palaveri, jossa kehitetään projektin prosesseja ja käytäntöjä.

Takaisin ylös