Skip to content

Ketterä kehittäminen-agile development

Kuvauksen kirjoitti: Andrei Soloviev, N3630

Lyhyt kuvaus käsitteestä tai aiheesta

Agile development eli ketterä kehittäminen on joustava lähestymistapa ohjelmistotuotannossa, joka perustuu v. 2001 julkaistuun Agile Manifestoon (Ketterä manifesti). Kyseinen manifesti koostuu neljästä perusideasta ja kahdestatoista periaatteesta, joihin erityiset käytännön ratkaisut perustuvat. Ketteräkehitysmalliin kuuluu useita tekniikoita, kuten XP, Lean, DSDM, Scrum, FDD jne. Jokainen ketterä menetelmä soveltaa manifestin perusideoita eri tavoin, mutta kaikki luottavat niihin hallitakseen projekteja mahdollisimman tehokkaasti.

4 Agile ideaa:

  1. Ihmiset ja vuorovaikutus ovat tärkeämpiä kuin prosessit ja työkalut
  2. Toimiva ohjelmisto on tärkeämpää kuin dokumentaatio
  3. Yhteistyö asiakkaiden kanssa on tärkeämpää kuin sopimusehtojen sopiminen
  4. Valmistautuminen muutokseen on tärkeämpää kuin alkuperäisen suunnitelman noudattaminen

12 Agile periaatetta (lyhyesti):

  1. Asiakastyytyväisyys
  2. Vaatimusten muuttaminen myös myöhemmässä kehitysvaiheessa
  3. Toimiva tuote tulee julkaista mahdollisimman usein
  4. Ohjelmistokehittäjien ja asiakkaiden päivittäinen vuorovaikutus
  5. Kehitystiimin pitää olla motivoitunut
  6. Suora viestintä kehitystiimille ja tiimin jäsenten kesken
  7. Toimiva tuote on kehityksen tärkein mittari
  8. Työtahdin ylläpito
  9. Teknisen laadun ja ohjelmiston hyvän rakenteen jatkuva huomiointi
  10. Yksinkertaisuus
  11. Itseorganisoituva tiimi
  12. Kehitystiimin tehokkuuden ja toiminnan säännöllinen tarkastus

Muuta aiheeseen liittyvää

Ketterässä ohjelmistokehityksessä koko kehitysprosessi jaetaan pieniksi osiksi – iteraatioiksi (sprint). Sprint on 1–4 viikon mittainen kehitysjakso, jonka aikana kehitystiimi suorittaa tietyn määrän työtä – vaatimusten analysointi, suunnittelu, ohjelmointi, testaus ja dokumentointi. Toisin sanoen jokainen iteraatio on erillinen lyhyt projekti, jossa kehitetään tietty pätkä ohjelmasta, parannetaan toiminnallisuutta tai lisätään uusia ominaisuuksia. Sprintit alkavat yksi toisensa jälkeen. Jokaisen iteraation lopussa kehitysryhmä analysoi tulokset ja muuttaa seuraavan syklin prioriteetteja.

Ketteräkehityksen edut:

  • Myöhäiset muutokset vaatimuksiin ovat sallittuja
  • Tiivistä yhteistyötä asiakkaan kanssa
  • Riskien minimointi
  • Maksimaalinen asiakastyytyväisyys
  • Ei tarvetta yksityiskohtaiselle vaatimusmäärittelylle
  • Projektin kustannukset ja kesto ovat arvioita
  • Projektia voidaan aloittaa heti sopimuksen allekirjoittamisen jälkeen
  • Vaatimusten muuttaminen on helppoa

Ketteräkehityksen heikkoudet:

  • Asiakasriippuvaisuus. Mikäli asiakas ei ole riittävän sitoutunut kehitysprojektiin, kehitystahti hidastuu. Asiakas voi vaatia yhä enemmän lopputuotteen parantamista, mikä viivästyttää kehitystä.
  • ”Puuttuva” dokumentointi
  • Tuleeko tuote koskaan markkinoille (käyttöön), jos on jatkuvasti parannuksissa
  • Määrittelemättömät resurssit

Linkit ulkopuolisiin lähteisiin

Avainsanat harjoitustehtävän repositoriossa