Mistä onnistunut ohjelmistoprojekti rakentuu?
Onnistunut ohjelmistoprojekti vaatii huolellista suunnittelua, hyvää projektinhallintaa, tehokasta tiimityöskentelyä sekä ennen kaikkea – kyvyn toteuttaa laadukasta ohjelmistokehitystä. Toisin sanoen, projektia täytyy olla toteuttamassa joukko asiansa osaavia ammattilaisia. Onnistuneen ohjelmistoprojektin tulisi pitää sisällään vähintään seuraavat vaiheet.
Lähtötilanteen kartoittaminen
Kun saamme paremman käsityksen siitä, että minkälaiset aktiviteetit tuovat lisäarvoa liiketoiminnalle ja minkälaiset toimintamallit ovat niiden takana, osaamme antaa konkreettisia ajatuksia siitä, kuinka toimintaa olisi mahdollista tehostaa erilaisten teknologisten ratkaisujen avulla.
Liiketoiminnan näkövinkkelistä on olennaista ymmärtää mm. seuraavat asiat:
- Minkälaisista tuotteista tai palveluista nykyinen liikevaihto muodostuu?
- Minkälaisista asiakassegmenteistä nykyinen liikevaihto muodostuu
- Minkälaisia aktiviteetteja, rutiineja sekä prosesseja päivittäinen asiakkaiden hankinta, asiakaspalvelu ja muut tukitoiminnot pitävät sisällään?
Kun ymmärrämme taustat, osaamme ottaa paremmin kantaa käynnistymässä olevaan ohjelmistoprojektiin ja erityisesti siihen, että onko olennaiset asiat huomioitu riittävällä tasolla.
Vaatimusmäärittely
Vaatimusmäärittely (requirement specification) on dokumentti, joka määrittelee tietyn järjestelmän tai ohjelmiston toiminnalliset ja ei-toiminnalliset vaatimukset. Vaatimusmäärittely kuvaa siis:
- Mitä järjestelmän tai ohjelmiston tulisi tehdä
- Mitä ominaisuuksia sen tulisi sisältää.
- Kuinka se vastaa asiakkaiden tarpeita
- Kuinka se vastaa käyttäjien tarpeita
- Minkälaisia käyttäjärooleja löytyy
- Jne.
Vaatimusmäärittely ei siis missään nimessä ole pelkkä tekninen dokumentti vaan siinä on olennaista kuvata sitä, että millä tavalla suunnitelmissa olevan projektin on tarkoitus tukea asiakkaan liiketoimintaa. Esimerkiksi erilaisten käyttötapausten (use cases) avulla.
Teknisestä näkövinkkelistä tarkasteltuna ohjelmistoprojekti tarvitsee aina onnistuakseen selkeät päälinjat ja tekniset reunaehdot, joiden pohjalta projektia lähdetään toteuttamaan. Esimerkiksi:
- Millä teknologioilla kokonaisuus toteutetaan
- Hyödynnetäänkö olemassa olevia alustoja
- Kuinka integraatiot eri järjestelmiin toteutetaan
- Järjestelmän ylläpito ja vasteajat
- Miten tietoturvasta varmistutaan
- Ja paljon muita projektikohtaisia asioita
Viestintä ja projektinjohto
Onnistunut ohjelmistoprojekti vaatii sen, että projektin edistymisen seuranta on täysin läpinäkyvää asiakkaan suuntaan. Helpoiten tämä hoituu niin, että projektin edistymistä seurataan tätä tarkoitusta varten suunnitellun, projektin johtamiseen tarkoitetun ohjelmiston, esimerkiksi Jiran avulla.
Pelkkä seurantatyökalu ei silti yksistään riitä, vaan sen tueksi tarvitaan myös etukäteen määritellyt, selkeät tavoitteet sekä projektin aikainen viestintäsunnitelma. On nimittäin enemmän kuin todennäköistä, että asiakas ei ymmärrä kaikkea projektiin liittyvää tekniikkajargonia, eikä täten pystyä seuraamaan projektin edistymistä itsenäisesti.
Osaavan projektipäällikön tärkeimpiä tehtäviä onkin määritellä seuraavat asiat:
- Selkeiden tavoitteiden asetanta ennen projektin aloitusta
- Viestintäsuunnitelma, joka määrittelee miten sisäinen- ja ulkoinen viestintä tapahtuu projektin aikana
- Etukäteen aikataulutetut kokoukset ja raportit edistymisestä
- Projektin riskien hallinta
- Sopivien, projektin hallintaan liittyvien työkalujen hyödyntäminen