Onnistuneita kokemuksia kolmesta nopeasta ohjelmistoprojektista

Onnistuneessa projektissa työtavat ovat tavoitteiden mukaiset. Jos tavoitteet ovat selkeät ja haluttu lopputulos on jo projektia aloitettaessa tiedossa, projekti etenee tasaisesti etukäteen tiedossa olevien vaiheiden läpi kuin joki uomassaan. Jos taas tavoitteena on tuottaa jotain uutta ja tuntematonta, projektin kulku muistuttaa enemmän pyörteistä koskea. Jotkin kohdat ovat heti selvillä ja pysyvät tasaisesti mukana koko projektin ajan. Toisissa kohtaa palataan takaisin alkupisteeseen, koitetaan uudelleen jo mahdollisesti kokeiltuja asioita, testataan ja kokeillaan kunnes ollaan tyytyväisiä seuraavaan vaiheeseen asti.
Uuden tuoteversion kehittäminen olemassa olevaan ohjelmaan on selkeä projekti, jonka kaikki vaiheet ovat alusta lähtien tiedossa ja työmäärä sekä aikataulu helposti arvioitavissa. Graafikon suunnittelemaan uuteen käyttöliittymään yhdistetään vanha tuoteversio ja siihen käyttökokemusten perusteella havaitut muutostarpeet. Graafinen suunnitelma kuvataan käyttöliittymän rakenteeksi XML-rakennekielellä ja sidotaan ohjelmakoodiin näkymä kerrallaan. Jokaisen muutos testataan ja mahdolliset ongelmat korjataan ennen seuraavaan vaiheeseen siirtymistä. Havaitut uudet muutostarpeet käydään asiakkaan kanssa läpi, ja ne joko toteutetaan tai kirjataan seuraavan ohjelmistoversion vaatimuksiin. Uusi ulkoasu ja elementtien ryhmittely eivät ole pelkästään ohjelman ulkonäköön liittyvä asia, vaan ne auttavat huomaamaan uusia tarpeita esimerkiksi käyttäjälle välitettäviä viestejä. Projektin onnistumisen edellytyksenä on olemassa olevan ohjelmaversion korkea laatu – selkeä ja hyvin dokumentoitu rakenne – sekä asiakkaan aktiivinen osallistuminen, kysymyksiin vastaaminen, testaaminen ja palautteen antaminen kaikissa vaiheissa.
Uuden tuotteen viimeistely prototyypistä tuotantokelpoiseksi on pääosin selkeä prosessi. Prototyypin tarkoitus on tuoteidean testaaminen ja kokeileminen. Prototyypin rakenne voi muistuttaa enemmän tilkkutäkkiä tai sotkuista lankakerää kuin selkeää ja laadukasta, modulaarista tuotetta. Tuotantokoodin laatuvaatimusten selvittäminen, prototyypin rakenteen läpikäynti ja vaiheittainen järjestäminen sekä testaaminen jokaisen muutoksen jälkeen voivat edetä suoraviivaisesti tai kehänä riippuen prototyypin rakenteen tuottamista yllätyksistä. Onnistuneen projektin tuloksena on paitsi uusi tuote myös asiakkaan syventynyt ymmärrys oman tuotteen ja toiminnan laadusta. Seuraavan tuotteen lisääminen tuoteperheeseen tai jonkin osan irrottaminen erilliseksi tuotteeksi on sujuvampaa, kun tuotannossa olevien tuotteiden rakenteet ja riippuvuudet ovat tiedossa.
Uuden tuotteen kehittäminen ideasta prototypiksi on parhaimmillaan kokeilujen ja yllätysten täyttämä projekti. Jokainen muutos prototyyppiin voi muuttaa koko tuotteen ideaa, toimintalogiikkaa tai käyttäjän kokemaa palvelua. Joskus joudutaan palaamaan takaisin jo hylättyihin ideoihin, jotka uusien muutosten jälkeen vaikuttavat sittenkin parhailta. Jatkuvat testaukset ja käyttäjäkokeilut tuovat uutta tietoa, mutta voivat johtaa myös harhateille. Kehitysprosessin aikana hankkeen omistajan on kyettävä näkemään haluttu lopputulos – miten uusi tuote sopii yrityksen muuhun toimintaan. Ja joskus oltava valmis myös hylkäämään ideoita. Tuotteen kehityksen voi ulkoistaa, mutta asiakkaan on oltava tiiviisti mukana kehitystyössä ohjaamassa kehityksen suuntaa. Kehitysprosessin tuloksena syntynyt prototyyppi voi näyttää hyvältä ja olla hyvä työkalu käyttäjätesteihin ja kokeiluihin, mutta lopulliseksi tuotteeksi rakenteeltaan sekava.
Asiakkaan osallistuminen ja vastuun osoittaminen heti päätöstä vaativissa tilanteissa on kaikissa kolmessa projektissa onnistumisen tärkein edellytys. Osallistumalla asiakas saa halutun tuloksen sovitussa aikataulussa.
Teksti: Tiina Ferm, Turun AMK