Siirry suoraan sisältöön

ohjelmisto­projektin vaatimukset selviksi

Opiskellessani IT-alaa reilut kaksi­kym­mentä vuotta sitten ohjelmisto­projektien toteut­ta­mi­seen opetet­tiin käytän­nössä vain yksi tapa, vesipu­tous­malli. Tämän jälkeen on tullut monia uusia tapoja, scrum ja kanban muutamia maini­tak­seni. Jokainen tapa / prosessi kuulostaa paperilla täydel­li­seltä ja tähtää tietysti ohjelmisto­projektin onnis­tu­mi­seen ja asiakkaan tarpeen täyttämiseen.

Urani aikan olen huomannut, ettei yksi mikään prosessi ole toista parempi. Prosessit ovat yleensä tehty täydel­li­sille ihmisille, enkä ole toistai­seksi tavannut täydel­listä ihmistä. Paljon riippuu projektin toteu­tuk­sesta. Projektilla on paremmat mahdol­li­suudet onnistua, jos projektin tavoite on selvä. Selvällä tarkoitan jotain muuta kuin “toteu­tamme uuden sukupolven sovel­luksen X …”.  

Riippumatta projek­ti­mal­lista projektin tavoite kuvataan yleensä vaati­musten kautta. Joissakin malleissa vaatimukset yritetään kuvata täydel­li­sesti ennen toteutus ja testaus vaiheita. Joissakin toisissa malleissa vaatimukset kuvataan yleisellä tasolla ja tarken­ne­taan projektin edetessä. Aika monessa projek­tissa tämä tehdään ohjel­mis­to­ke­hit­tä­jien toimesta. Tässä ei sinänsä ole mitään vikaa, mutta ohjel­mis­to­ke­hit­täjät eivät ole ongelma-alueen asian­tun­ti­joita ja heiltä usein puuttuu kokemus, minkä alan parissa työsken­te­levät ovat saavut­ta­neet vuosien aikana.

Edellä maini­tusta voisi helposti vetää aasin­sillan, että toimia­lueen asian­tun­ti­joiden pitää olla projek­tissa ja sitten homma toimii. Oikein ja väärin. Mukana oleminen ei ole itsei­sarvo vaan vielä tärkeämpää on saada heillä oleva tieto ohjel­mis­to­ke­hit­tä­jien tietoon ja ymmär­ryk­seen. Se, miten tämä vaihe toteu­te­taan sanelee aika pitkälle sen, onko projek­tilla onnis­tu­misen mahdol­li­suuksia vai ei. Tämän lisäksi toinen tärkeä onnis­tu­misen edellytys on, että toimia­lueen asian­tun­tijat ovat käytet­tä­vissä projektin aikana. Em. kaksi asiaa ovat oman kokemuk­seni mukaan tärkeämpiä kuin se, kuinka kokeneita tieto­tek­nisiä asian­tun­ti­joita projek­tissa on. Asiantuntijuutta tarvitaan, mutta vielä enemmän tarvitaan asiakkaan ymmärtämistä.

Kiitos, kun luit tekstin tänne saakka. Täältä voit lukea, miten vaati­mus­mää­rit­telyä voi lähestyä.