Blogi

Tarinoista tuotteeksi - miten ohjelmistojen hinta-arvio muodostetaan

Juuli Kiiskinen

Ohjelmistojen hankinnan taustalla on yleensä kulujen pienentäminen, nykyisen liiketoiminnan kasvattaminen tai kokonaan uuden luominen. Ohjelmistohankinnan ja ylläpidon kustannusten on oltava pienemmät kuin ohjelmistosta saatava tuotto tai säästö, jotta investointi kannattaa. Sen takia on luonnollista, että kysymykset hinnasta astuvat nopeasti ohjelmistokaupoilla kuvaan, mutta niihin vastaaminen onkin hitaampi prosessi.

Disclaimer: Tässä blogissa otetaan kantaa ainoastaan ohjelmistojen rakentamisen hintaan - ei niiden koko elinkaaren mittaisiin kustannuksiin.

Hinta-arvio on monen tekijän summa

Ohjelmistokehitysprojektin hinta-arvioon vaikuttaa ohjelmiston koko eli periaatteessa sen ominaisuuksien määrä sekä lukuisat muut asiat, joita ovat esimerkiksi:

Käyttäjien määrä - onko ohjelmistolla 100 vai miljoona käyttäjää
Datan määrä - kuinka suuria tietomääriä ohjelmistossa liikkuu
Integraatiot - tuleeko ohjelmiston keskustella muiden järjestelmien kanssa
Toimintavarmuus - onko kyse verkkosivustosta vai lennonvalvonnan järjestelmästä
Design - kuinka merkityksellinen ohjelmiston design on loppukäyttäjille
Toimintaympäristö - millä kaikilla laitteilla ohjelmistoa tulee voida käyttää
Maksulliset komponentit - käytetäänkö ohjelmiston rakentamiseen maksullisia osia

Ohjelmiston koon arviointi

Joissakin tapauksissa asiakkaalla on ennestään selkeä kuva ja toimittajalle annettava ohjeistus halutuista ominaisuuksista. Jos asiakkaalla ei ole selkeää kuvaa ohjelmiston koosta, työmäärä kannattaa arvioida yhdessä toimittajan kanssa.

Ohjelmiston kokoa eli tehtävän työn määrää voidaan arvioida käyttäjätarinoiden avulla sekä vertaamalla ohjelmistoa aikaisemmin tehtyihin projekteihin. On kuitenkin tärkeä tiedostaa, että jokainen ohjelmistokehitysprojekti on uniikki - muihin jo tehtyihin ohjelmistoihin vertaaminen ei ikinä anna täysin aukotonta arviota.

Käyttäjätarinat arvioinnin apuna

Käyttäjätarinat ovat yksittäisiä asioita, joita ohjelmiston käyttäjän on kyettävä tekemään. Periaatteessa ne voivat olla ohjelmiston ominaisuuksia.

Esimerkki

Olemme suunnittelemassa Facebookille haastajaa nimeltä Headbook. Yksi asia mitä käyttäjän pitäisi pystyä tekemään on käyttäjätunnuksen luominen sähköpostilla. Tässä tapauksessa käyttäjätunnuksen luominen sähköpostilla olisi yksi käyttäjätarina. Käyttäjän tulisi myös voida luoda käyttäjätunnus Google-tunnuksilla - se olisi jo toinen tarina.

headbook.png

Hinta-arvio on harvoin realistinen, jos se perustuu täysin toimittajan arvauksiin. Sen takia käyttäjätarinat tulisi aina käydä läpi ja kirjoittaa auki yhdessä asiakkaan kanssa ennen hinta-arvion antamista. Se auttaa molempia osapuolia hahmottamaan hankkeen kokoluokkaa. On tärkeää tiedostaa, että kaikkia käyttäjätarinoita on mahdoton tunnistaa etukäteen - projektin edetessä voi syntyä kokonaan uusia käyttäjätarinoita.

Käyttäjätarinat tulee pilkkoa mahdollisimman pieniksi ja keskenään samankokoisiksi, jotta niiden työmäärää on helpompi arvioida. Headbook-esimerkin yksi käyttäjätarina voisi näyttää tältä:

"Loppukäyttäjänä haluan luoda itselleni käyttäjätunnuksen sähköpostilla."

Käyttäjätarinoita voidaan verrata aiemmin tehtyjen hankkeiden käyttäjätarinoihin. Jos samankaltaisuuksia löytyy, työmääriä voidaan arvioida historian perusteella - kauanko vastaavanlaisten käyttäjätarinoiden tekemiseen on kulunut aikaa?

Kun käyttäjätarinat on kirjoitettu auki, niille annetaan keskimääräinen työmääräarvio, joka voi olla projektista riippuen tunteja tai päiviä. Keskimääräinen työmääräarvio kerrotaan käyttäjätarinoiden määrällä sekä toimittajan tuntihinnalla. Näin saadaan muodostettua suuntaa antava hinta-arvio.

Esimerkki

Käyttäjätarinan keskimääräinen tuntimäärä: 16 h
Toimittajan tuntihinta: 100 €
Tarinoiden lukumäärä: 30 kpl
16 x 100 x 30 = 48 000 €

Tämä on yksi tapa arvioida ohjelmistokehitysprojektin hintahaarukkaa. Todelliseen kustannukseen vaikuttavat luonnollisesti projektin aikaiset valinnat, priorisointi sekä monet muut muuttujat.

Niin kuin monessa muussakin asiassa, kommunikointi on kaiken A ja O. Mitä paremmin asiakas ja toimittaja ymmärtävät toisiaan, sitä tarkempi on hinta-arvio.

Haluatko lukea lisää ohjelmistokehityksestä? Tilaa blogikirjoituksemme suoraan sähköpostiisi, eikä mikään kirjoitus mene sinulta ohi!

Painavaa asiaa kevyellä otteella!  TILAA BLOGIKIRJOITUKSET SÄHKÖPOSTIISI 

Aiheet: Ohjelmistokehitys

Juuli Kiiskinen
Juuli Kiiskinen

Teen Sysartilla markkinointia, designer-hommia ja oikeastaan mitä tahansa mikä vie firmaa eteenpäin.