Sivusto on suunniteltu XHTML & CSS-yhteensopiville selaimille. Suosittelemme selaimen päivittämistä uudempaan versioon.
19.12.2007
Agile-menetelmien työkalujen tulee tukea tiimin jokapäiväistä työtä.
Panu Liira, menetelmäkonsultti
Meiltä Agile-konsulteilta ja -valmentajilta tiedustellaan jatkuvasti suosituksia hyvistä ohjelmistotyökaluista, joilla tukea Agile-menetelmiä käyttävien projektien suunnittelua ja hallintaa. Toistaiseksi emme ole löytäneet tähän yleispäteviä vastauksia, ja muiden alan ammattilaisten kokemukset tuntuvat olevan samansuuntaisia.
Agile-menetelmät antavat tyypillisesti paljon vastuuta tiimeille. Itseorganisoituvat tiimit suunnittelevat ja seuraavat työn edistymistä yhdessä. Myös työtä tukevien työkalujen täytyy siis olla tiimiorientoituneita ja koko tiimin käytössä.
Toinen Agile-menetelmien ominaispiirre on jatkuva reaaliaikaisen tiedon tuottaminen projektin tilasta. Toimivan työkalun tulisi tukea tiedon keräämistä osana päivittäistä työskentelyä ja tuottaa ajantasaisia raportteja ja tietoa projektin etenemisestä päätöksenteon ja sidosryhmien välisen kommunikaation tueksi.
Agile-menetelmät tukeutuvat suurelta osin ihmisten väliseen suoraan kommunikaatioon ja joustavaan suunnitteluun esimerkiksi tussitaulujen ja tarinakorttien (story card) avulla. Nämä perinteiset työkalut ja toimintatavat eivät kuitenkaan sovi tilanteeseen, jossa tiimit eivät työskentele samassa paikassa. Myös projektien koon kasvu lisää tarvetta työkaluille, joiden avulla voitaisiin tarkastella ja kommunikoida projektiin liittyvää tietoa eri abstraktiotasoilla ja aikajänteillä.
Useista tiimeistä koostuvan projektin ohjaaminen vaatii yleensä ylimääräisen suunnittelun tason esimerkiksi eri tiimien tekemien töiden välisten riippuvuussuhteiden hallitsemiseen. Suuremmassa projektissa myös sidosryhmien sekä erilaisten roolien ja vastuiden määrä lisääntyy. Niinpä hyvän työkalun on tarjottava tarkoituksenmukaiset näkymät eri rooleja ja suunnittelun eri tasoja varten.
Olemme kokeilleet lukuisia erilaisia olemassaolevia projektinhallintatyökaluja, mutta on vaikea löytää sellaista, joka istuisi saumattomasti Agile-tiimien päivittäiseen työhön. Monissa on tiimien työn hallintaan sopivia ominaisuuksia, mutta niiden toteutus ja erityisesti helppokäyttöisyys jättävät paljon toivomisen varaa.
Useat testaamistamme työkaluista ovat sisältäneet paljon pitkälle kehitettyjä ja jopa eri Agile-prosessien erityistarpeisiin vastaavia ominaisuuksia, mutta ne ovat olleet liian hankalia ja työläitä tiimin jäsenten päivittäiseen käyttöön. Joidenkin ominaisuudet ovat taas riittämättömiä kattamaan projektien suunnitteluun, seurantaan ja toteutukseen liittyviä perustarpeita. Usein työkalut myös pakottavat ennaltamäärrättyihin toimintatapoihin, mikä vaikeuttaa käytettävien prosessien mukauttamista ja Agile-menetelmien monipuolista soveltamista. Useimmissa työkaluissa on esimerkiksi etukäteen määritelty tapa, jolla projektin vaatimukset täytyy organisoida ja strukturoida.
Vaikuttaa siltä, että samaan työkaluun on haasteellista yhdistää oikeat ominaisuudet, jotka sallisivat joustavuuden ja helppokäyttöisyyden, ja samalla tukisivat useimpien Agile-tiimien perustarpeita. Ehkä tämän vuoksi yksinkertaiset taulukkolaskentaohjelmistoihin pohjautuvat ratkaisut näyttävät edelleen olevan monien Agile-tiimien valitsema työkalu.
Kokemustemme perusteella monet olemassaolevien työkalujen puutteet kulminoituvat vaatimusten hallintaan sekä iteraatioiden ja tuoteversioiden suunnitteluun. Ensimmäinen haaste missä tahansa projektissa on yleensä vaatimuslistan eli Scrumin termein Product Backlogin ensimmäisen version laatiminen. Tästä tulee helposti monivaiheinen yritykseen ja erehdykseen perustuva prosessi, koska vaatimukset voidaan esittää monin eri tavoin ja eri tarkkuustasoilla. Nykytyökaluilla tämä on useimmiten kömpelö ja turhauttava työvaihe. Seuraava välitön haaste on vaatimusten pitäminen ajan tasalla ottaen huomioon projektin aikana syntyvän tiedon tuomat tarkennukset ja muutokset vaatimuksiin.
Osana panostamme FLEXI-tutkimusprojektissa olemme suunnittelemassa työkalua, joka tukee Product Backlogin hallintaa projektin alustavasta suunnittelusta lähtien. Ensimmäinen tavoitteemme on helpottaa tuoteidean mallintamista ymmärrettäväksi ja johdonmukaiseksi vaatimusjoukoksi. Seuraava looginen osa on vaatimusten arvioinnin ja priorisoinnin sekä iteraatio- ja release-suunnittelun tukeminen. Pidemmällä tähtäimellä tavoitteemme on kehittää ratkaisu, joka pystyy tarjoamaan havainnollisia näkymiä projektien tilaan, ja tarjoamaan näin arvokasta tietoa päätöksenteon tueksi organisaation eri tasoille. Koska FLEXI-projekti on keskittynyt laajan mittakaavan Agile-tuotekehitykseen, työkalu skaalautuu myös laajojen projektien ja hajautettujen tiimien käyttöön.
Panu Liira, menetelmäkonsultti
Panulla on vuosien kokemus Agile-menetelmien hyödyntämisestä. Hän työskentelee Reaktorilla Agile-menetelmien konsulttina ja valmentajana. Panu on auttanut lukuisia organisaatioita ottamaan käyttöön Agile-ajattelutavan ja -käytäntöjä.