Miten story pointteja käytetään ohjelmistokehityksen arvioinnissa?

Ohjelmistokehityksen yksi suurimmista haasteista on arvioida työmääriä. Me käytämme  sprintin suunnitteluissa tarinapisteitä (story points) ja suunnittelupokeria (planning poker). Niiden avulla arvioidaan ohjelmiston vaatiman kehitystyön määrää.

Tärkein hyöty tarinapisteistä on siinä, että se antaa eri taitotasoilla oleville ihmisille tavan keskustella jonkin tehtävän vaatimasta työmäärästä. Tämän tekee mahdolliseksi perusajatus, että emme keskustele miten kauan jonkin tekeminen vie aikaa. Sensijaan, arvioimme miten mutkikas jokin tehtävä on, ja mikä sen suhteellinen kompleksisuus on verratuna johonkin toiseen kehitysjonossa olevaan tehtävään.

Ajattele juoksevasi jonkun tietyn matkan, esimerkiksi 10 kilometriä. Tämän tehtävän arvioiminen on hyvin suoraviivaista. Mutta toisaalta on vaikeaa arvioida miten kauan juokseminen vie kahdelta eri ihmiseltä. Se riippuu juoksijan kyvyistä ja kestävyydestä ja se voi vaihdella eri ihmisten välillä paljon. On mahdotonta päästä yhteysymmärrykseen ennenkuin tiedetään kuka aikoo matkan juosta.

Tarinapisteiden avulla tiimin erilaiset taitotasot eivät vaikuta arvioihin. Kokemuksemme mukaan tämä nopeuttaa valtavasti arviointiproosessia.

 

Näin sen teemme

Ensiksi sprintin suunnittelussa valitaan käyttäjätarina, joka toimii perustasona. Se toimii vertailukohtana koko projektin ajan.

Web sovellukselle hyvä lähtökohta on yksinkertainen käyttäjätarina, joka vaatii sekä backend että front-end kehitystä. Tämä perustaso saa 5 pistettä. Seuraava käyttäjätarina, joka vaatii vain pieniä muutoksia käyttöliitymään ja visuaalisiin elementteihin vastaa 1 pistettä. Mutkikkaammat tehtävät luonnollisesti vaativat yli 5 pistettä.

Arvot, joita käytämme ovat 1, 3, 5, 7, 10, 15 ja 25. Mikä tahansa tehtävä, joka saa 25 pistettä joutuu paloittelupöydälle. Se täytyy jakaa pienempiin tehtäviin, ennenkuin se otetaan sprintin sisältöön mukaan.

Me käytämme oiketa kortteja kun äänestämme tehtävien pisteitä. Olemme muokanneet tavallista korttipakkaa lisäämällä 15, 20 ja 25 pisteen kortit. Sinä voit käyttää niin hienoa systeemiä kuin haluat, mutta me haluamme pitää asiat yksinkertaisina. Low tech-lähestymistapa toimii aivan yhtä hyvin.

Kun perustason käyttäjätarina on valittu ja kaikilla on kortit saatavilla, arviointi voi alkaa.

Tuoteomistaja käy käyttäjätarinan läpi ja osallistujat voivat esittää kysymyksiä. Kun kaikki ovat saaneet kysymyksiinsä vastaukset, tehdään ensimmäinen äänestyskierros. Kortit nostetaan yhtäaikaa. Tällä tapaa muiden mielipide ei pääse vaikuttamaan omiin arvioihin.

Henkilöt, jotka antoivat alhaisimmat ja korkeimmat pisteet, selittävät lyhyesti miksi antoivat ne arviot. Tämän jälkeen kaikki äänestävät toisen kerran ja ottavat huomioon uudet tiedot. Kortit nostetaan taas yhtäaikaa.

Yleensä toisella kierroksella eroja on jo vähemmän. Tyypillisesti arvioksi valitaan korkein pistemäärä, toisinaan päädytään käyttämään pistemäärää, joka sai eniten kannatusta. Tiimi keskustelee arviosta siihen saakka, että ollaan tyytyväisiä arvioon.

 

Sinäkin voit käyttää suunnittelupokeria

Tarinapisteet ja suunnittelupokeri ovat käteviä tapoja arvioida ohjelmistokehityksen vaatimaa aikaa. Samaa mallia voi käyttää myös muunlaisten projektien suunnittelussa. Parin kierroksen jälkeen näet miten se toimii ja voit muokata mallia niin, että se auttaa tiimiäsi toimimaan tehokkaammin.