Requirements risk management in agile software development projects - Puttonen, Heidi (2018)
Erilaisten ketterien järjestelmäkehitys menetelmien kasvanut suosio on vaikuttanut perinteiseen tapaan ymmärtää järjestelmävaatimusten hallintaa. Ketterissä järjestelmäkehitys projekteissa vaatimusmäärittely prosessin täytyy mukautua kehitysympäristöön, jossa keskitytään pienempiin osakokonaisuuksiin valmiiden tuotteiden asemesta, joissa muutos on jatkuvaa ja missä asiakkaan odotetaan olevan vahvasti osallisena. Tämä vaikuttaa luonnollisesti myös järjestelmävaatimuksiin liittyviin riskeihin. Tämä pro gradu tutkielma selvittää kuinka järjestelmävaatimusten riskejä hallitaan ketterissä järjestelmäkehitysprojekteissa, sekä miten ketterän järjestelmäkehitys filosofian valinta vaikuttaa projektin järjestelmävaatimusten riskikenttään. Tutkielman teoreettinen osuus tarkastelee järjestelmäkehitys alan ajankohtaista kirjallisuutta. Yhdistämällä tietoa järjestelmäkehityksen yleisestä riskien hallinnasta, vaatimusten riskien hallinnasta ja ketterästä järjestelmäkehityksestä, kirjallisuuskatsaus muodostaa kuvan järjestelmävaatimusten riskien hallinnan keskeisitä ominaisuuksista ketterissä kehitysprojekteissa: Näissä projekteissa myös itse vaatimusten riskien hallinnan täytyy sopeutua iteroivaan toimintatapaan ja jatkuviin muutoksiin. Tämä lisää myös riskien muutosalttiutta ja samalla tarvetta muokata riskianalyysin laajuutta sopimaan kulloiseenkin kehitys iteraatioon. Samoin kirjallisuuskatsaus paljastaa kuinka järjestelmävaatimusten riskien hallinnan pitää olla läpinäkyvää ja mahdollisuuksien mukaan ottaa mukaan myös projektin muita sidosryhmiä varsinaisen kehitystiimin lisäksi. Empiirisessä osuudessa kirjallisuuskatsauksen tuloksia rikastetaan tapaustutkimuksella. Siinä Requirements Risk Prioritization -metodia käytetään vaati-musten riskien hallintaan ketterässä järjestelmäkehitysprojektissa. Tapaustutkimus paljastaa kuinka ylätasolla myös ketterät projektit kohtaavat saman tyyppisiä haasteita kuin perinteisempiä kehitysmenetelmiä käyttävät projektit. Tapaustutkimuksesta kuitenkin selviää neljä riskiryhmää, jotka tulosten mukaan ovat keskeisessä roolissa ketterissä projekteissa. Nämä riskiryhmät liittyvät asiakkaan rooliin ja käyttäjäkokemukseen, ketterän järjestelmäkehityksen prosesseihin, järjestelmävaatimusten laajuuteen ja projektitiimiin. Tapaustutkimus myös korostaa kuinka tärkeää ketterissä projekteissa on pystyä kommunikoimaan järjestelmävaatimusten riskeistä siten, että kaikki sidosryhmät pystyvät niitä ymmärtämään – erityisesti asiakas, jonka odotetaan olevan aktiivinen osallistuja projektissa. Tässä kommunikaatiossa ketterät projektit voivat hyötyä erilaisten työkalujen käytöstä, kuten Requirements Risk Prioritization menetelmä, jota tässä tapaustutkimuksessa testattiin Yleisesti tämän tutkimuksen tulokset korostavat kuinka järjestelmävaatimusten riskien arviointi on haastavaa ketterissä projekteissa erityisesti koska sen tekeminen vaatii laajaa tietoa projektista itsestään sekä sitä ympäröivästä organisaatiosta. Henkilön tai henkilöiden, jotka kyseistä analyysiä tekevät täytyy päästä käsiksi tähän tietoon. Samaan aikaan ketterä prosessi pakottaa analysoijan keskittymään riskeihin pienemmässä laajuudessa kerrallaan kuitenkaan unohtamatta niiden riippuvuuksia projektin kokonaisriskiympäristöön. Vaikka järjestelmävaatimusten riskit ovat erittäin tärkeitä, niitä ei kuitenkaan koskaan voida arvioida ja hallita irrallisena projektin muusta riskikentästä.