Ketteryys on ihmisille luontaista

Ketterä ohjelmistokehitys – miksi se kannattaa?

Kristo-Mikko Daniel
12.04.2016
|
Kristo-Mikko Daniel

Druid pyrkii organisaationa toimimaan kaikessa ketterästi sekä säilyttämään päätöksenteon mahdollisimman lähellä työntekijöitä. Litteä organisaatio lienee helposti ymmärrettävissä – ei esimiehiä, ei turhaa byrokratiaa – mutta entäpä ketteryys? 

Vaikka ketterät menetelmät nousivat yleiseen tietoisuuteen jo 1980-90 -lukujen taitteessa, monet asiakkaamme tutustuvat niihin vasta meidän kauttamme. Tästä syystä ajattelin kirjoittaa avaavia ajatuksia ketterästä kehityksestä helpottamaan asian ymmärtämistä. Aloitetaan perusteista.

Mitä ketterä kehitys tarkoittaa?

Ketteryys on ihmisten luontainen tapa toimia; olosuhteisiin ja muutoksiin mukautuminen on aikoinaan ollut meille elinehto. Nykyään ketteryys näkyy konkreettisimmin lapsissa, jotka keksivät leikkejä lähes tyhjästä, muuttavat niiden sääntöjä ja vaihtavat toiseen leikkiin lennosta. Työelämässä ketteryys kuitenkin joutuu valitettavan usein jäykkien prosessien jyräämäksi. Mutta ei onneksi meillä!

Ketterän kehityksen periaatteet avautuvat kenties parhaiten vertaamalla niitä perinteiseen projektinhallinnan vesiputousmalliin

Perinteisissä vesiputousprojekteissa edetään suoraviivaisesti vaihe vaiheelta: tehdään projektisuunnitelma, joka toteutetaan, testataan ja toimitetaan. Kun suunnitelma on kerran tehty, sitä on vaikea enää muuttaa, ja palautetta toimintaympäristöstä saadaan hyvinkin pitkällä viiveellä. Pahimmillaan projektin määrittelyyn on käytetty vuosia, ja kun toteutusvaihe vihdoin alkaa, on aika jo ajanut tuotteen tai palvelun ohi.

Ketterissä projekteissa puolestaan suunnitellaan, kehitetään ja testataan jatkuvalla syklillä. Projektit toteutetaan lyhyinä, esimerkiksi 1-4 viikon mittaisina iteraatioina, joista kukin itsessään on kuin pieni projekti. Jokaisen iteraation tavoitteena on tuottaa julkaisukelpoista ohjelmistoa, joka tuottaa arvoa. Projektin prioriteetit tarkistetaan ja seuraavan iteraation sisältö suunnitellaan aina iteraation vaihtuessa. Ohjelmiston toimivuus on tärkeämpää kuin kattava dokumentointi, minkä vuoksi suunnitelma elää tilanteen mukaan.

Vuonna 2001 julkaistua Agile Manifestoa pidetään ketterän kehityksen perusmääritelmänä, joka avaa niitä arvoja ja periaatteita, joihin ketterä ajattelu perustuu.

Vesiputousmalli on alunperin luotu vaiheistetuille teollisuuden valmistusprosesseille ja sitä on jo 70-luvulla kritisoitu sopimattomaksi malliksi ohjelmistokehitykseen. Vesiputousmallilla on kuitenkin paikkansa, jos haluttu lopputulos on jo etukäteen tarkasti tiedossa ja muutokset projektisuunnitelmaan erittäin epätodennäköisiä. Ohjelmistokehityksessä näin kuitenkin harvoin on. 

Mitä hyötyä ketteryydestä on?

Nopeus: Ketterissä projekteissa edetään pala kerrallaan niin, että liiketoimintasi kannalta tärkeimmät verkkopalvelun osat saadaan ensimmäisinä käyttöön. Jatkuva julkaiseminen mahdollistaa nopean käyttöönoton. Saat siis liiketoiminnallista hyötyä nopeammin. 

Läpinäkyvyys: Asiakkaan kanssa tehdään tiivistä yhteistyötä, viestitään suoraan ja mielellään kasvokkain. Pysyt koko ajan kärryillä siitä, mitä on tekeillä ja milloin.

Joustavuus: Lyhyiden iteraatioiden ansiosta muutoksiin reagoidaan ja sopeudutaan nopeasti. Suunnitelmaa voidaan muuttaa aina tarpeiden mukaan. Sinulla on mahdollisuus aidosti vaikuttaa verkkopalvelusi kehitykseen.

Riskien minimointi: Lyhyet iteraatiot mahdollistavat myös virheiden nopean korjaamisen. Ja mitä aikaisemmassa vaiheessa virheet huomataan, sitä edullisempaa niiden korjaaminen on. Et siis kohtaa ikäviä yllätyksiä verkkopalvelusi valmistuttua.

Oikein toteutettuina ketterät projektit pysyvät aikataulussaan eivätkä ylitä budjettiaan, sillä projektin laajuus (scope) elää ajan ja rahan ehdoilla – priorisointia tehdään jatkuvasti. Vaikka et välttämättä saa kaikkea mitä haluat, saat kaikki tärkeimmät asiat jotka tarvitset. Projektin tehtävissä tulisi aina keskittyä niihin, jotka tuottavat kulloisellakin hetkellä parhaan asiakasarvon.

Tutkimusten mukaan ketterän kehityksen menetelmiä hyödyntävät projektit menestyvät huomattavasti vesiputousprojekteja paremmin. Erityisesti viestinnällä ja asiakasyhteistyöllä on suuri merkitys projektin onnistumiselle.

Ketterän kehityksen menetelmiä on useita erilaisia. Scrumissa on valmiiksi määritellyt roolit, tapahtumat sekä tuotokset, joten kokemattomankin on helppo ymmärtää kuinka Scrum-viitekehys toimii. Teemme Druidilla suurimman osan projekteistamme Scrumilla, ja lähes kaikki työntekijämme ovat sertifioituja Scrum Mastereita. Scrum vaatii kuitenkin aivan oman postauksensa tai kenties useammankin – siitä siis luvassa juttua myöhemmin!
 

Haluatko tietää lisää?

Ota yhteyttä