Tekniikkakatalogi: Ketterä dokumentointi ja työkalut
Kehitysjono
Ongelma: Työn organisointi, priorisointi ja seuranta tiimin sisällä ja sen yhdistäminen asiakkaan toiveisiin ei ole sujuvaa.
Ratkaisu: Kehitysjonojen avulla voidaan tiimin työ organisoida ja työn etenemistä seurata asiakkaan toiveiden mukaan. Tuotteen kehitysjonon avulla huomioidaan asiakkaan toiveet sekä organisoidaan projektikokonaisuus. Iteraation kehitysjonon avulla jaetaan tuotteen kehitysjonosta valitut tärkeimmän prioriteetin kohdat tehtäviksi, jotka tiimi toteuttaa iteraation aikana.
Tavoite: Projektin tavoitteet sekä eteneminen tulevat selkeäksi ja näkyväksi niin, että tiimi ja asiakas tietävät molemmat projektin tilanteen koko kehityksen ajan.
Kehitysjonoja on olemassa kahdenlaisia – tuotteen kehitysjonoja ja iteraation kehitysjonoja. Tuotteen kehitysjono kuvaa tuotekokonaisuuden ja täten näyttää mitä asiakkaalle lopulta toimitetaan. Iteraation kehitysjono puolestaan kuvaa iteraation aikana toteutettavia tehtäviä.
Tuotteen kehitysjonoa hallinnoi tyypillisesti tuoteomistaja. Tuoteomistaja on vastuussa tuotteen arvon maksimoimisesta sekä kehitystiimin työstä. Tuotteen kehitysjonoon kirjataan selkeästi vaatimukset, jotka tuotteessa tulee olla. Tuoteomistaja priorisoi vaatimukset ja antaa riittävän yksityiskohtaiset tiedot iteraation suunnittelupalaverin aikana, jotta tiimi voi arvioida vaatimusten työmääriä ja toteuttaa niistä mahdollisimman monta seuraavan iteraation aikana. Onnistuneen tuotteen kehitysjonon hallinnan kannalta on tärkeää, että tuoteomistaja kommunikoi tiiviisti kehittäjien kanssa, vaikka hän tekee itse viime kädessä päätökset. Tuotteen kehitysjonon kautta vaatimukset siirtyvät kontrolloidusti kehittäjätiimin toteutettavaksi.
Jokaista iteraatiota varten luodaan uusi iteraation kehitysjono suunnittelupalaverin aikana. Iteraation kehitysjonoon kehitystiimi luo jokaiselle käyttäjätarinalle yksityiskohtaiset tehtävät ja arvioi jokaiseen tehtävään kuluvan ajan. Suuret tehtävät pilkotaan pienimmiksi niin, että ne voidaan suorittaa yhden tai kahden päivän aikana . Tehtäviä ei määrätä tiimin ulkopuolelta, vaan tiimi ja sen jäsenet itse päättävät työtehtävät ja vastuut. Tiimin itseorganisoitumisen toteutumisen kannalta on tärkeää, että tiimi saa arvioida itse tekemänsä työmäärän iteraation aikana. Iteraation kehitysjonoa päivitetään säännöllisesti iteraation aikana tehdyn työmäärän ja arvioidun jäljellä olevan työmäärän suhteen.
Edistymiskäyrä
Oleellinen työkalu tehdyn ja jäljellä olevan työmäärän visualisointiin on edistymiskäyrä. Edistymiskäyrän vaaka-akseli kuvaa aikaa ja pystyakseli jäljellä olevaa työmäärää. Työtehtävät saadaan kehitysjonosta. Edistymiskäyrää voidaan hyödyntää niin iteraation kuin tuotteen kehitysjonon tukena. Estimoitujen tehtävien valmistuttua jäljellä olevaa työmäärää päivitetään, joka näkyy työn vähenemisenä edistymiskäyrässä.
On tyypillistä, että työmäärä iteraation tai tuotekehityksen aikana kasvaa. Kaikkea toteutettavaa toiminnallisuutta ei yleensä osata ennakoida ja sitä lisätään tuotekehityksen aikana. Edistymiskäyrän avulla tiimi näkee työn etenemisen päivittäin koko projektin ajalta. Tällöin on mahdollista löytää myös tiimin tuotekehitysvauhti, joka kuvaa työskentelynopeutta, joka auttaa parantamaan työn suunnittelua ja estimoinnin tarkkuutta.
Käytännössä koettua 1
Eräässä yrityksessä käytettiin kolmea erilaista kehitysjonoa: tuotteen kehitysjonoa, etappikehitysjonoa ja iteraation kehitysjonoa.
Etappikehitysjono oli lisätty kahden kehitysjonon tueksi helpottamaan ulkoisten aikataulujen ja etappien vaikutusta kehitystyöhön. Etappikehitysjono toimi tuote- ja iteraation kehitysjonojen välissä vaatimustasolla. Siihen siirrettiin tuotteen kehitysjonosta ne vaatimukset, jotka tulee olla toteutettuja ennen tiettyä ulkoisesti määrättyä aikatauluetappia.
Projektin etenemistä seurattiin avoimien ja suljettujen vaatimusten avulla käyttäen etapin edistysmiskäyrää, joka päivitettiin aina iteraation katselmoinnissa.
Etappikehitysjonon pohjalta laadittiin iteraation kehitysjono. Siinä olevien tehtävien estimaatit päivitettiin päivittäin ja iteraation edistymistä seurattiin tilannepalavereissa edistymiskäyrän avulla. Iteraation kehitysjonoa tai iteraation edistymiskäyrää käytettiin vain iteraation etenemisen seurantaan, ei projektitasolla.
Käytännössä koettua 2
Eräässä yrityksessä havaittiin, että järjestelmien ylläpitotehtävät tulivat työprosessiin kehitysjonojen ulkopuolelta ja aiheuttivat suunnitellun työn aikarajojen ylittämispainetta, kuormittumista ja työrauhan häiriintymistä. Onkin tärkeää, että uudet työtehtävät tulevat suunnitteluprosessin ja kehitysjonon kautta. Yllättävien tehtävien kohdalla ennakointi on kuitenkin haasteellista. Tuoteomistajan ja tiimin kesken käytiin tärkeysjärjestyksen varmistava keskustelu aina, kun uusi tehtävä otettiin työn alle.
Tuotteen kehitysjono lopullisine tavoitteineen koettiin erittäin tärkeäksi myös työmotivaation, optimaalisen kuormituksen ja työn tehokkuuden säilymisen kannalta.