#MitäVattua - Ketterä ohjelmistokehitys

28.08.2018 09:54:39


Mitä on Ketterä ohjelmistokehitys? 10:27

Ketterä ohjelmistokehitys / kehittäminen (Agile software development) on joukko menetelmiä joilla ohjelmistojen tuotantoprosessia viedään eteenpäin. Menetelmät eivät ole tarkoin määriteltyjä ohjeistoja siitä, miten missäkin tilanteessa pitää toimia. Tarkan ohjelistan sijaan kokoelma periaatteita, joita noudattamalla uskotaan päästävän hyvään lopputulokseen.

Vaikka ketterää kehittämismallia käytetään yleisimmin ohjelmistokehityksessä, voi sitä hyödyntää myös muissa kehittämisprojekteissa. Itse ketterässä kehittämisessä voidaan käyttää erilaisia ketteriä menetelmiä kuten Lean, Scrum, Kanbam, Scrumban, Extreme programming jne. Menetelmille yleisiä piirteitä ovat toimivan lopputuloksen ensisijaisuus, suora viestintä ja nopea muutoksiin reagointi.

Menetelmät sopivat hyvin kehittämiseen, jossa halutaan saada jatkuvasti palautetta käyttäjiltä kehitettävästä kokonaisuudesta. Se sopii hyvin kohteeseen, jonka vaatimukset tai tarpeet eivät ole kehittämisen aluksi kattavasti tiedossa tai joita halutaan muuten kehittää kokeillen.

 

Miksi? 20:04

Ketterä ohjelmistokehityksen tavoitteena on tuottaa arvoa nopeasti sekä saada palautetta käyttäjiltä ja asiakkailta jatkuvasti.

Ketterän kehittämisen avulla voidaan resurssit kohdistaa koko prosessin kannalta oikeisiin asioihin, täten parantaen kehittämisen luomaa arvoa.

Vuonna 2001 17 kappaletta ketterän kehityksen puolestapuhujaa kokoontui, tarkoituksena rakentaa pohja ketterille menetelmille ja edistää näin ketterän ajattelun leviämistä. Tuloksena syntyi manifesti, jossa määritellään ketterille menetelmille neljä tyypillistä arvoa, sekä 12 periaatetta, joita menetelmät noudattavat.

 

Kenelle? 25:53

Loppukäyttäjille ja asiakkaille. Menetelmien tarkoitus on tuottaa asiakkaalle arvoa mahdollisimman varhaisessa vaiheessa, sekä saada projektin lopputuloksesta mahdollisimman tarkoituksenmukainen.

 

Miten? 30:22

Vanhemman tahi perinteisemmän vesiputoumallin mukaisesti ohjelmiston tuotantoprosessi jaettiin seuraaviin askelmiin joita seurattiin orjallisesti tässä järjestyksessä:

  1. Järjestelmävaatimukset
  2. Ohjelmistovaatimukset
  3. Analyysi
  4. Suunnittelu
  5. Ohjelmointi
  6. Testaus
  7. Käyttöönotto

Paperilla kyseinen malli kuullostaa todella hyvältä, mutta usein asiakas ei osaa tarkasti määritellä omia vaatimuksiaan ennen kuin on päässyt kokeilemaan jollain tasolla toimivaa prototyyppiä. Tämä johtaa siihen että asiakas usein muuttaa vaatimuksiaan kesken projektin, jolloin suuri osa projektista joudutaan hylkäämään ja tekemään uudelleen.

Useimmat ketterät menetelmät pyrkivät kuitenkin jakamaan ohjelmistokehityksen lyhyisiin iteraatioihin, jotka kestävät tyypillisesti yhdestä neljään viikkoa. Kukin iteraatio on kuin pieni ohjelmistoprojekti ja sisältää kaikki uusien toimintojen julkaisemiseen tarvittavat tehtävät:

  1. Projektisuunnittelu
  2. Vaatimusanalyysi
  3. Ohjelmistosuunnittelu
  4. Ohjelmointi
  5. Testaus ja dokumentointi

Vesiputoumallin ja eri ketterien mallien lisäksi on olemassa muitakin malleja, eri mallien välillä suurin yhdistävä tekijä on, että kaikilla menetelmillä on omia hyviä ja huonoja puoliaan. Eri mallit sopivat paremmin eri tyyppisiin projekteihin, jolloin paras tapa on käyttää projektissa sille sopivinta mallia tai jotakin yhdistelmää eri malleista, jolla saadaan aikaiseksi paras mahdollinen lopputulos.

 

Kuka? 44:07

Ketteriä menetelmiä käyttävät miltei kaikki tahot jotka tuottavat arvoa jollekin toiselle taholle. Ketterät menetelmät ovat suuri kilpailuetu verrattuna kankeisiin menetelemiin, joten on hyvin todennäköistä että kankeisiin menetelmiin tukeutuvat tahot eivät pärjää kilpailussa ketterämpiin verrattuna.

Muita vattuiluja

Videopelit generoi fiksuja ihmisiä - #MitäVattua podcast #254

Minkä nuorena oppii sen vanhana taitaa. Joten jos nuorena oppii tehokkaasti ymmärtämään syy-seuraus suhteita kehittyy ihmisen maailman hahmottaminen sekä muisti ihan eri tavalla.

Lukaseppa

#MitäVattua podcast - UX eli User Experience feat Riikka Simonen

UX, User Experience, Käyttäjäkokemus. Rakkaalla lapsella on monta nimeä.

Lukaseppa

#MitäVattua - Big Data

Se kuuluisa ensimmäisenä kuvattu jakso! #MitäVattua tarkoittaa BigData? Kooders kommentoi!

Lukaseppa

#MitäVattua?

MitäVattua on mukahauska podcast, jossa yleensä keskustellaan tekniikasta, it-alan pöhinäsanoista ja itketään maailman menoa, koska mikään ei ole koskaan hyvin. Uusi valitusvirsi joka tiistai!

Onko sinulla jotain asiaa, minkä haluaisit, että semipieni yleisö kuulisi? Ota meihin yhteyttä niin voidaan ehkä haastella yhdessä