Tag Archives: daily

Ketterä ohjelmistokehitys – miten ja miksi?

”Miten ohjelmistokehitys voi olla ketterää ja miten se eroaa perinteisistä kehitysmalleista?”

Erilaiset kehitysprojektit on perinteisesti toteutettu ns. vesiputousmallin mukaan: ensin tuote määritellään, sen jälkeen suunnitellaan, mitä seuraa toteutus ja viimeisenä testaus. Tällainen jäykästi määritelty ja jaoteltu projektin kulku ei jätä juurikaan tilaa muutoksille, joita yleensä jokaisessa projektissa tulee vastaan. Se tekee prosessista helposti hitaan, kalliin ja tehottoman.

Ketterä ohjelmistokehitys taas tarkoittaa käytännössä kehitysmenetelmiä, joissa lopullista tuotetta tai järjestelmää ei määritellä heti projektin alussa, vaan tuote muotoutuu jatkuvasti projektin edetessä, uusien toiveiden ja parannusten noustessa esille.

Niinpä tuotekehitys on ketterillä menetelmillä paljon joustavampaa ja sopeutuvampaa kuin perinteiset, jäykästi vaiheistetut kehitysmenetelmät.

Nykyään katsotaan ketterien metodien hallitsemisen olevan kriittinen osa ohjelmistosuunnittelijan osaamista ja jopa edellytys projektin laadukkaalle ja tehokkaalle toteuttamiselle.

Esimerkiksi ketterän kehittämisen työskentelymallista käy vaikkapa Scrum.

Scrumin tärkeimpiä piirteitä ovat sen sprintit ja backlog. Sprintit tarkoittavat Scrumissa nopeita työjaksoja, joiden aikana pyritään saamaan aikaan jokin valmis tuotos.

Backlog taas on lista, johon listataan kaikki projektin aloitustapaamisessa keksityt toteuttamiseen liittyvät työtehtävät. Projektin eteneminen ja toteutus tapahtuvat sen jälkeen käytännössä niin, että tehtävät poimitaan backlogista tehtäväksi ja projektia viedään eteenpäin sprintin sovitun keston ajan, jonka jälkeen se esitellään ja siitä kerätään palautetta ja toiveita asiakkaalta. Tämän jälkeen backlogia päivitetään ja luodaan uusia tehtäviä ja ne priorisoidaan uudelleen, minkä jälkeen aloitetaan uusi sprintti.

Oiva työkalu Scrum-työskentelyyn on Trello, joka mahdollistaa digitaalisten tehtäväkorttien luomisen projektitaululle, mistä niitä on helppo ja nopea päivittää ja jakaa kullekin tekijälle.