Tekniikkakatalogi: Ketterä prosessi
Iteraatio
Ongelma: Työskentelytahti vaihtelee projektin eri vaiheissa työmäärän ja kiireen lisääntyessä projektin loppua kohti. Toisaalta tavoite saattaa olla kaukainen tai epäselvä, jolloin projekti tuntuu loppumattomalta.
Ratkaisu: Lyhyet työskentelyjaksot eli iteraatiot rytmittävät projektia ja jakavat työmäärää tasaisemmin. Lisäksi jokaisella iteraatiolla on oma välitavoitteensa, joka auttaa pilkkomaan projektia pienemmiksi, helpommin ymmärrettäviksi etapeiksi.
Tavoite: Työkuorma jakaantuu tasaisemmin koko projektin ajalle, lyhyen aikavälin suunnittelu ja seurattavuus paranevat sekä projektiin saadaan välitavoitteita.
Iteraation tarkoituksena ketterässä kehityksessä on tuottaa jokaisen lyhyen jakson päätteeksi jonkinlainen toimiva lopputuote tai tuotteen osa. Sulautetuissa järjestelmissä tämä lopputuote ei välttämättä ole konkreettinen fyysinen tuote, vaan myös erilaiset demonstraatiot toimivat iteraation tuotoksina. Jokaisen iteraation tarkoituksena on tuottaa hieman edellistä valmiimpi lopputulos. Iteraatiot seuraavat toisiaan, kunnes tuote on valmis. Iteratiivinen kehitys mahdollistaa reagoimisen asiakkaan toiveisiin, nopean suunnan muuttamisen sekä toimivan tuotteen toimittamisen nopeasti.
Iteraatiolla on hyvä olla sovittuna jokin tavoite. Tavoite kuvaa mihin kyseisen iteraation aikana keskitytään. Näin projekti ja sen päätavoite tuntuvat konkreettisemmilta ja järkevimmiltä. Välitavoitteen olemassaolo ja sen mukanaan tuoma tunne pienistä onnistumisista motivoi työntekijää. Iteraation tavoite antaa työrauhaa ja mahdollistaa laadun pitämisen korkeana.
Iteraatio aloitetaan yleensä suunnittelemalla iteraation tavoite, sekä mitä pitää tehdä, jotta tähän tavoitteeseen päästään. Tämä tapahtuu usein suunnittelupalaverissa . Suurin osa iteraatiosta kuluu välitavoitteen toteuttamiseen ja toteutumista voidaan seurata esimerkiksi kehitysjonon kautta. Iteraation lopuksi on hyvä tarkastella esimerkiksi katselmointipalaverissa , miten tavoitteen saavuttaminen lopulta onnistui. Näin opitaan muodostamaan realistisempia välitavoitteita.
Iteraatio ei saa olla liian lyhyt, muttei toisaalta liian pitkäkään. Hyvä iteraation pituus on yleensä 1–4 viikkoa. Iteraatio on sopivan pituinen silloin, kun se kyetään suunnittelemaan riittävän yksityiskohtaisesti, mutta toisaalta tavoitteet tuntuvat vielä riittävän suurilta. Pituus kannattaa säilyttää samana iteraatiosta toiseen, sillä tämä helpottaa suunnittelua, kun ymmärrys yhteen iteraatioon mahtuvasta työmäärästä lisääntyy. Lisäksi tasapituiset iteraatiot luovat toimivia rutiineja.
Jakamalla koko projektin työmäärä pienempiin iteraatioihin kasvatetaan ymmärrystä siitä, mitä voidaan saada aikaiseksi tietyn ajanjakson aikana. Tällöin ymmärretään paremmin suunniteltujen aikataulujen realistisuus ja voidaan laskea ja seurata tiimin työn nopeutta, jolloin aikatauluarviot osuvat paremmin oikeaan. Työn vaiheistus ja jakaminen sekä lyhyen aikavälin suunnitelmat takaavat sen, että projektin alkupuolellakin on konkreettisia tavoitteita ja työkuorma tasoittuu tasaisemmin koko projektin ajalle.
Parhaimmillaan iteratiivinen työskentely rauhoittaa työn tekemistä, mahdollistaa keskittymisen ja johtaa myös työntekijän näkökulmasta kontrolloidumpaan toimintaan. Osatavoitteiden toteuttamisen kautta valmiiksi saatavat työt lisäävät osaamisen ja onnistumisen tunnetta sekä työn mielekkyyttä.
Käytännössä koettua
Eräs projekti tuntui määrättömän pitkältä ja tavoite kaukaiselta. Tämän vuoksi otettiin käyttöön iteraatiot. Ensimmäiseksi iteraatioksi valittiin seitsemän viikkoa, koska tällöin oli projektissa muutenkin tulossa konkreettinen välitavoite ja se haluttiin hyödyntää iteraatioon välitavoitteeksi. Tämän iteraation päätteeksi todettiin, että yksityiskohtainen suunnitelmallisuus oli mahdotonta näin pitkälle aikavälille. Sen vuoksi sovittiin, että jatkossa iteraatiot kestävät tasan neljä viikkoa, ja näin kyettiin suunnittelemaan paremmin, mitä iteraation aikana toteutetaan.
Vinkkejä
- Iteraatio ja sen toteuttamiseen liittyvät rutiinit auttavat työn hallinnassa ja kuormituksen säätelyssä. Iteraation käyttöönotto on oppimisprosessi, jossa alkuun voi ilmetä ongelmia iteraatioon mahtuvan työmäärän arvioinnissa ja siinä, miten liikaan työhön suhtaudutaan jakson aikana. Tällaisessa tilanteessa on huomioitava se, että liiallista työkuormaa ei lähdetä selvittämään työn laatua laskemalla tai tekemällä ylitöitä.
- Iteraation aikana on myös tärkeää säilyttää työrauha ja välttää lisäämästä tarpeettomasti epävarmuutta jakson tavoitteen pitävyydestä. Kaikkiaan iteratiivinen työskentely vaatii kokonaistavoitteen eli vision siitä mihin suuntaa yksittäisillä jaksoilla pyritään. Visio on tärkeä muun muassa silloin, jos iteraation kuluessa joudutaan miettimään jakson työmäärän uudelleen mitoittamista.