Skip to content

Ketterä kehittäminen - agile development

Kuvauksen kirjoitti: Joeli Hokkanen m1888@student.jamk.fi

Lyhyt kuvaus käsitteestä tai aiheesta

Agile development, eli ketterä kehittäminen, sai nimensä vuonna 2001 kun ketterän ohjelmistokehityksen julistus julkaistiin. Tätä oli kuitenkin edeltänyt jo vuosikymmenen ajan kevyiden ohjelmistokehitysmenetelmien nousu perinteisten raskaiden ja hitaiden menetelmien, kuten vesiputousmallin, rinnalle.

Julistuksen takana on kaksitoista periaatetta, jotka ohjeistavat miten ketterän kehityksen kuuluisi toimia. Käytännössä näitä ohjeita sitten myötäilevät erilaiset ohjelmistokehitykseen suunnitellut kehikot, joita kutsutaan ketteriksi menetelmiksi. Tunnetuimpia ketterän kehityksen kehikoita ovat mm. Scrum, Kanban, Lean ja SAFe.

Facebookilla oli vuoteen 2014 saakka käytössä sisäinen motto "Move fast and break things", joka kiteyttää paljon ketterästä kehityksestä. Ideana on olla vastavoima vesiputousmallille, jossa projekteilla on aina pitkä suunnitteluvaihe, sekä valmistumisen jälkeen pitkä testausvaihe. Ketterä projekti keskittyy nopeaan iteraatioon, jonka tuloksena ensimmäinen MVP-malli saattaa olla testattavana jo viikkojen kuluttua. Tämän jälkeen tuotetta testataan tai esitellään, ja saadun palautteen perusteella jatketaan kehitystä haluttuun suuntaan. Näkyviä tuloksia saadaan siis nopeammin, ja muuttuviin vaatimuksiin päästään reagoimaan ensi tilassa.

Jakamalla työ tällaisiin pieniin osiin joiden välissä pidetään kommunikaatiota yllä puolin ja toisin voidaan minimoida riskit ja välttyä kiusallisilta tilanteilta, joissa väärin kommunikoitujen tai muuttuneiden vaatimusten takia asiakas saakin keilapallon, vaikka halusi vasaraa.

Muita ketterän kehityksen tärkeitä aatteita ovat:

  • Turhan työn minimointi, eli raskaista ja ylimääräisistä prosesseista luopuminen, jotta muodollisuuksien sijaan osaajat voivat keskittyä tekemään mikä on tärkeää.
  • Kommunikaation tärkeys: niin asiakasrajapintaan, kuin myös tiimin sisäisesti sekä eri tiimien välinen kommunikaatio. Sen tulisi olla sujuvaa ja jatkuvaa.
  • Itseohjautuvuus: jokainen tiimi tarkastelee toimintaansa ja tehokkuuttaan. Kipupisteet tunnistetaan, ja toimintamalleja muokataan tarpeen mukaan itsenäisesti.
  • Yksilölähtöinen ajattelutapa: projektit rakennetaan osaavien ja motivoituineiden henkilöiden ympärille. Kun tiimi on täynnä motivoituneita ja osaavia tekijöitä, jotka välittävät siitä mitä tekevät, tulee itseohjautuvuus luonnostaan ja tulokset ovat parhaita.

Näitä periaatteita seuraamalla ohjelmistokehityksestä saadaan väitetysti ennakoitavampaa, edullisempaa sekä nopeampaa. Ketteriä menetelmiä käyttävät yritykset ja tahot rummuttavat ketterän kehityksen nimeen, ja näiden menetelmien suosio on jatkuvasti kasvamassa. Kyselyjen mukaan työntekijätkin ovat tyytyväisempiä työnsä sisältöön toimiessaan ketterissä ympäristöissä. Objektiiviset tutkimustulokset ketterien menetelmien hyödyistä ovat kuitenkin harvassa. Suuri ongelma tässä on se, että järkevien metriikoiden mittaaminen on hankalaa, ja ohjelmistoprojektin aikana asioihin vaikuttaa niin monta kontrolloimattomissa olevaa muuttujaa, että on hyvin vaikea osoittaa mahdollisten hyötyjen johtuvan juuri valitusta ohjelmistokehitysmenetelmästä.

Linkit ulkopuolisiin lähteisiin

Avainsanat harjoitustehtävän repositoriossa