Ketterä ohjelmistokehitys

”Ohjelmistoja määritellään usein jopa monen kuukauden ajan, vaikka tosiasiassa keskeisiä ominaisuuksia onnistuneen sovelluksen kannalta on vain kourallinen. Koska työstäminenkin maksaa, tehokkaampi lähestymistapa on keskittyä ydinasioihin käyttötapausten kautta. Iteratiivinen ohjelmistokehitys on läpinäkyvä tapa tehdä asioita ja asiakas saa taatusti rahoilleen vastinetta. Lopputuloksena on käyttäjien suosima sovellus satojen huitaisten tehtyjen ominaisuuksien sijaan”, sanoo Kalle Markkanen.

Älä ylikehitä. Perinteisessä ohjelmistokehityksessä määrittelyä ja koodausta tehdään parhaimmillaan kuukausikaupalla, mutta lopputulos ei silti ole välttämättä halutun kaltainen. On tutkittu, että ohjelmistojen ominaisuuksista käytetään vain murto-osaa. Ketterässä ohjelmistokehityksessä paneudutaan näihin ydintarpeisiin. Rönsyily ja turhien ominaisuuksien rakentaminen kuluttaa rahaa niin määrittely-, rakennus- kuin ylläpitovaiheessakin.

Iteratiivisella mallilla etenevä ketterä ohjelmistokehitys perustuu tiiviisiin parin viikon mittaisiin sprintteihin, joissa sovittujen tavoitteiden pohjalta luodaan tuotantokelpoista ohjelmistoa. Sprintin jälkeen asiakas voi konkreettisesti arvioida projektin suuntaa, ideoida ominaisuuksia tarkemmin, karsia rönsyt pois ja sovittaa tekemisen käytettävissä olevaan budjettiin.

Ole aktiivinen. Ketterä ohjelmistokehitys edellyttää, että asiakas on itsekin aktiivinen ja arvioi projektin kuluessa, ovatko kunkin sprintin tulokset sitä, mitä tilattiin. Vaiheesta toiseen edetään testaamisen kautta; testidatalla voidaan yhdessä mallintaa miten ohjelmisto toimisi juuri halutulla tavalla. Iteratiivinen ohjelmistokehitys on kaiken kaikkiaan todella läpinäkyvä tapa tehdä asioita; asiakas saa rahoilleen vastinetta ja voi heti ottaa kantaa siihen, mennäänkö oikeaan suuntaan.

Hyödynnä modulaarisuuden mahdollisuudet. Modulaarisuus lisää osaltaan ohjelmistokehitykseen ketteryyttä. Mikäli jotain halutaan muuttaa, muutokset eivät riko olemassa olevia toiminnallisuuksia tai heijastu muihin toimintoihin vaan yhden osion kehittäminen riittää.

Hallitse prosessit. Ketterässä ohjelmistokehityksessä toteutus kehittyy pikkuhiljaa täydellisemmäksi ja valmiimmaksi. Ohjelmiston elinkaari alkaa kuitenkin jo ensimmäisten koodirivien kirjoittamisesta ja jo ensimmäisen sprintin tulokset pitää pystyä asentamaan testiympäristöön automatisoidulla prosessilla. Mikäli asennusprosessi on työläs ja paljon manuaalista työtä vaativa, se jää helposti tekemättä ja testaamatta. Ominaisuusorientoitunut lähestymistapa mahdollistaa selkeän kuvan muodostamisen siitä, mitä ominaisuuksia sprintin lopputulokseen sisältyy. Näin sekä asiakkaalla että ohjelmiston kehitystiimillä on jatkuvasti selkeä kuva tavoitetilasta.

Kalle Markkanen
Senior software developer

.

  • Facebook
  • Twitter
  • LinkedIn
  • Email