Agile - Ketteryyttä projektinhallintaan

Agile, eli ketterä, projektinhallintamenetelmä soveltuu hyvin nopeasti muuttuvaan toimintaympäristöön jossa yllättäviin tilanteisiin tulee reagoida nopeasti. Tässä kirjoituksessa perehdytään aiheeseen selventäen mitä Agile on, sen arvoihin ja periaatteisiin, kompastuskiviin, sekä siihen miten ketterä kehittäminen eroaa perinteisestä vesiputousmallista.

Agile, ketterä, Agile coach, Kevin Husell

Konsultin työssäni toimin mm. ketterän toimintatavan asiantuntijana, joka auttaa tiimejä ja organisaatioita toimimaan ketterien menetelmien mukaisesti.

Agilessa on vahvassa fokuksessa ihmiset, minkä takia tykkään työskennellä sen parissa. Koen että hyvät tulokset lähtevät hyvinvoivista ja tehokkaista tiimeistä, ei pelkästään toimivista prosesseista.

Agilen lyhyt historia

Agile sai alkunsa vuonna 2001 kun 17 ohjelmistokehittäjää kokoontui pohtimaan, miten ohjelmistoja voitaisiin kehittää paremmin, ja miten muita voitaisiin auttaa tekemään samoin. Kokoontumisen lopputuloksena oli ketterän kehityksen julistus, joka koostuu neljästä arvosta ja kahdestatoista periaatteesta. Vaikka kyseinen projektinhallintamenetelmä on alun perin suunniteltu ohjelmistokehitystä varten, ovat arvot ja periaatteet todettu toimiviksi muussakin kompleksisessa työssä. Itse olen todennut, että ketterää lähestymistapaa voidaan hyödyntää ihan omassa elämässäkin.

Agile on iteratiivinen lähestymistapa projektinhallinnassa, joka auttaa tiimejä nopeammin luomaan arvoa asiakkailleen. Työtä tehdään pienemmissä paloissa, miksi vaatimuksia ja suunnitelmia käydään läpi ja muutetaan jatkuvasti tilanteen vaatiessa. Agileen kuuluu eri viitekehyksiä, kuten Scrum, Kanban ja XP (Extreme Programming), jotka pohjautuvat metodologioihin määrittäen tietyt tavat työskentelylle. Hyödyntämällä viitekehyksiä tiimit voivat kehittää itsellensä omat metodologiat – eli omat tavat ja keinot toimia ketterästi.

Vaikka ketteriin menetelmin kuuluu useita viitekehyksiä, työkaluja ja tapoja, on se pohjimmiltaan ajattelutapa, joka tukee yksilöitä, tiimejä ja organisaatioita päätöksenteossa. Ymmärtääkseen ajattelutapaa perehdytään seuraavaksi sen arvoihin ja periaatteisiin ketterän kehityksen julistuksen kautta.

Ketterän kehityksen julistus (Agile Manifesto)

Arvot

Löydämme parempia tapoja tehdä ohjelmistokehitystä, kun teemme sitä itse ja autamme muita siinä.

  • Arvostamme yksilöitä ja kanssakäymistä enemmän kuin menetelmiä ja työkaluja.

  • Arvostamme toimivaa ohjelmistoa enemmän kuin kattavaa dokumentaatiota.

  • Arvostamme asiakasyhteistyötä enemmän kuin sopimusneuvotteluja.

  • Arvostamme muutokseen vastaamista enemmän kuin pitäytymistä suunnitelmassa.

Jälkimmäisilläkin asioilla on arvoa, mutta arvostamme ensiksi mainittuja enemmän.

Periaatteet

  • Tärkein tavoitteemme on tyydyttää asiakas toimittamalla tämän tarpeet täyttäviä versioita ohjelmistosta aikaisessa vaiheessa ja säännöllisesti.

  • Otamme vastaan muuttuvat vaatimukset myös kehityksen myöhäisessä vaiheessa. Ketterät menetelmät hyödyntävät muutosta asiakkaan kilpailukyvyn edistämiseksi.

  • Toimitamme versioita toimivasta ohjelmistosta säännöllisesti, parin viikon tai kuukauden välein, ja suosimme lyhyempää aikaväliä.

  • Liiketoiminnan edustajien ja ohjelmistokehittäjien tulee työskennellä yhdessä koko projektin ajan.

  • Rakennamme projektit motivoituneiden ihmisten ympärille. Annamme heille puitteet ja tuen, jonka he tarvitsevat, ja luotamme siihen, että he saavat työn tehtyä.

  • Tehokkain ja toimivin tapa tiedon välittämiseksi kehitystiimille ja tiimin jäsenten kesken on kasvokkain käytävä keskustelu.

  • Toimiva ohjelmisto on edistymisen ensisijainen mittari.

  • Ketterät menetelmät kannustavat kestävään toimintatapaan. Hankkeen omistajien, kehittäjien ja ohjelmiston käyttäjien tulisi pystyä ylläpitämään työtahtinsa hamaan tulevaisuuteen.

  • Teknisen laadun ja ohjelmiston hyvän rakenteen jatkuva huomiointi edesauttaa ketteryyttä.

  • Yksinkertaisuus – tekemättä jätettävän työn maksimointi – on oleellista.

  • Parhaat arkkitehtuurit, vaatimukset ja suunnitelmat syntyvät itseorganisoituvissa tiimeissä.

  • Tiimi tarkastelee säännöllisesti omaa tehokkuuttaan ja mukauttaa toimintaansa sen mukaisesti.

Miksi termi 'ketterä'?

Ketterän kehityksen julistus arvoineen ja periaatteineen auttaa ymmärtämään terminologiaa. Ketterä kuvaa ajattelutapaa, miten eri päätöksentekotilanteisiin tulisi reagoida. Yksi ketteryyden tärkeimmistä asioista on suhtautuminen muutoksiin. Välillä ketteryys ymmärretään virheellisesti siten, että mennään vain ja tehdään asioita. Ketteryys ei kuitenkaan tarkoita, ettei ole mitään suunnitelmia, menetelmiä, sopimuksia tai dokumentaatiota. Projektimaailmassa tarvitaan näitä kaikkia, mutta Agilessa pyritään arvostamaan muita asioita tilanteesta riippuen. Ketterän julistuksen arvoissa tuleekin huomioida sana enemmän.

Ketteryydessä fokus on vahvasti ihmisessä, toimivassa ohjelmistossa, yhteistyössä ja muutoksien vastaanottamisessa. Näin ollen pyritään olemaan joustavimpia epävarmuuden suhteen, ja luomaan edellytykset iteratiiviselle kehittämiselle.

Tehokkaat tiimit toimivat ketterästi

Mahdollistaakseen jatkuvan kehityksen, on ketteryydessä tärkeässä osassa ihmiset ja siinä, miten he työskentelevät keskenään. Hyviä tuloksia ja ratkaisua saadaan aikaiseksi itseohjautuvilla monialaisilla tiimeillä. Tämä on siirtymä perinteisestä itsenäisestä asiantuntijatyöstä dynaamiseen ja yhteisölliseen työskentelyn yhdistelmään. Tiimit koostuvat henkilöistä, joilla on tarvittava osaaminen, eikä pelkästään tarvittavia titteleitä.

Tämän takia fokuksessa on ihminen, eikä ylhäältä alaspäin valuvat ohjeet. Tiimit saavat itse päättää miten asioita lähestytään ja ratkotaan. Hyvin voiva ja toimiva tiimi luo arvoa, miksi ihmisiin tulee panostaa. Kun ihmiset voivat hyvin, ollaan organisaatiossa onnistuttu luomaan puitteet hyville tuloksille. Aiheesta olen kirjoittanut aikaisemmin kirjoituksessani Palautuminen uupumuksen estäjänä – Kaifukuzenin pilarit.

Ymmärtääksemme ketteryyttä vielä paremmin, katsotaan seuraavaksi, miten Agile eroaa toisesta hyvin perinteisestä projektinhallintamenetelmästä.

Miten Agile eroaa perinteisemmästä projektinhallinnasta?

Yksi tunnettu perinteinen malli on niin kutsuttu vesiputousmalli (waterfall), jossa prosessi etenee vaihe vaiheelta, samalla tavalla kuin vesi virtaa ylhäältä alaspäin. Seuraavaan vaiheeseen siirrytään kun edellinen on valmistunut. Kyseisessä mallissa jokainen vaihe on suunniteltu etukäteen, tavoitteet ja aikataulut ovat ennalta asetetut. Malli toimii erinomaisesti, kun työhön ei sisälly paljon epävarmuutta eikä muutoksille ole todennäköisesti tarvetta.

Waterfall method, vesiputousmalli

Mallia on kritisoitu siitä, että usein on miltei mahdotonta suunnitella täydellisesti projekti alusta loppuun. Aikaisempiin vaiheisiin joudutaan palamaan ja tekemään muutoksia, miksi suunnitteluun käytetty aika on yhtä kuin turhaa työtä ja menetettyä rahaa. Malli on saanut kritiikkiä myös siitä, että vaikka lopputulos vastaisi sovittua, ei se olekaan sitä mitä asiakas lopulta tarvitsi. Yllättävän usein sitä ei tiedä mitä todellisuudessa haluaa. Kaiken lisäksi arvo realisoituu vasta, kun projekti todella on valmis.

Vesiputousmallin ja ketterän erona toimii esimerkki lomamatkasta. Vesiputousmallin mukaisesti viikon loman jokainen päivä ja sen aktiviteetit suunniteltaisiin etukäteen. Kaikki nähtävyydet, ravintolat, tekemiset olisi ennalta päätetty, mikä selkeyttäisi budjettia ja kun kohteeseen on päästy ei tarvitse muuta kuin suorittaa.

Mitä jos jokin paikka onkin kiinni, rantapäivänä on huono keli, tai tulee kipeäksi? Ketterä matkailija huomioisi, että muutoksia saattaa tulla vastaan loman aikana. Siksi hän on ehkä etukäteen valinnut muutamat nähtävyydet ja aktiviteetit mitkä toivoo näkevänsä, mutta suunnittelee päivän vasta edellisenä iltana, tai jos kyseessä on oikein ketterä kaveri, niin jopa vasta samana aamuna.

Vesiputosmallin haasteita. Agile koittaa taklata näitä tekemällä töitä pienemmissä paloissa, jossa yhteistyö loppukäyttäjän kanssa on tiivistä. Muutokset otetaan huomioon projektin edetessä, ja toimivaa ohjelmistoa toimitetaan jatkuvasti, eikä vasta kun koko projekti on valmis.

Miksi ja milloin Agilea?

Ketterän projektinhallinnan ajatuksena on, että projekteissa luodaan jatkuvasti toimituskelpoista materiaalia. Merkki onnistumisesta on tällöin toimiva ohjelmisto tai sen osa, joka pala palalta antaa palautetta siitä, mihin suuntaan seuraavaksi tulisi mennä. Koko projektia ei koiteta suunnitella alusta loppuun, muutoksiin varaudutaan itse työmallilla ja tulevaa työtä priorisoidaan ja suunnitellaan pienemmissä osissa.

Eli jos kehitystyö on jatkuvaa, on hyvä pohtia vaihtoehtona ketterää projektinhallintaa. Menetelmät vaativat ja korostavat läpinäkyvyyttä sekä muutosystävällisyyttä, miksi ne soveltuvat jatkuvassa muutoksessa oleviin ja epävarmoihin ympäristöihin. Mitä kompleksisempi projekti, sen parempi tehdä sitä pienissä paloissa hyödyntäen ketteriä menetelmiä.

Agilen kompastukivet

Monesti ketterien menetelmien viitekehyksiä, käytäntöjä ja työkaluja implementoidaan organisaation työtapoihin, ymmärtämättä adaptoida ketterää ajattelutapaa arvoineen ja periaatteineen. Toki näiden hyödyntäminen auttaa siirtymään ketteryyteen, mutta itse ketterän kulttuurin luominen vie aikaa. Niin kuin mainitsin aikaisemmin, on Agile pohjimmiltaan ajattelutapa. Sen arvot ja periaatteet tukevat päätöksenteossa, työkalut ja menetelmät taas toimivat apuna projektinhallinnassa, eivätkä ketteryyden mittareina.

On suuri ero ”tehdä ketterää” ja ”olla ketterä”

Ketterä organisaatio on jatkuvasti kasvussa, oppimassa, sopeutumassa ja liikkeessä osatakseen parhaimmalla mahdollisella tavalla hyödyntää uusia mahdollisuuksia luodakseen lisäarvoa asiakkailleen. Organisaatioissa ja tiimeissä onkin aika ajoin hyvä pysähtyä miettimään, mitä ketteryys heille tarkoittaa, ja mitä tulee tehdä seuraavaksi, jotta ketteryyttä voidaan lisätä.

Ketteryyden rakentaminen voi lähteä pienestä liikkeelle, kuten yhdestä organisaation tiimistä, mutta parhaat hyödyt saadaan kun koko organisaatio toimii ketterästi. Rakentaminen vie aikaa, ja parhaillaan se on jatkuvaa tekemistä ja kokeilua, jossa uutta rakennetaan vanhan rinnalla. Muutos ketterämpään tekemiseen vaatii rohkeutta, koska vasta muutokset näyttävät onko suunta oikea. Tulee olla valmis tekemään pieniä epäonnistumisia, sillä ne ovat opetuksia jotka jälleen ohjaavat toimintaa parempaan suuntaan.

Ketterin terveisin,

-Kevin

Viitteet ja lisäluettavaa

Previous
Previous

Kolme tapaa parantamaan omaa keskittymiskykyä nopeasti

Next
Next

Kun ei kiinnosta pätkääkään