Managing and prioritizing requirements risks in information systems development - Kuusinen, Jarmo (2018)
Tietojärjestelmien suunnittelussa ja toteutuksessa järjestelmän tavoite ja ominaisuudet kuvataan tietojärjestelmän vaatimuksina. Tietojärjestelmävaatimusten keräämisen, kehittämisen ja hallinnan prosessit tietojärjestelmien kehityksessä tähtäävät siihen, että järjestelmän vaatimukset saadaan koottua sidosryhmiltä, ne analysoidaan huolellisesti ja ilmaistaan vaatimukset järjestelmän kehittäjille asianmukaisessa muodossa. Tämä menettely mahdollistaa käyttötarkoitusta vastaava järjestelmän toteuttamisen. Tämän päivän tietojärjestelmäkehityksessä erilaisten ketterien kehitysmallien merkitys on kasvanut, ja voidaankin perustellusti väittää, että erilaiset ketterien menetelmien sovellutukset ovat tällä hetkellä tietojärjestelmäkehityksen de facto -menetelmä. Vuosien mittaan sekä tutkijat että käytännön tietojärjestelmäkehittäjät ovat kehittäneet laajan valikoiman erilaisia menetelmiä tietojärjestelmien vaatimuksia kokoamiseen, analysointiin ja hallintaan nykyaikaisten tietojärjestelmien kehitysmallien yhteydessä. Tästä huolimatta sekä tutkimuskirjallisuus että käytännön projektikokemukset kertovat, että merkittävä osa epäonnistuneista tietojärjestelmähankkeista epäonnistuu juuri vaatimushallinnan puutteiden takia. Kelvottomasti toteutettu vaatimusten kokoaminen, analysointi ja hallinta aiheuttavat riskejä tietojärjestelmäprojekteille. Nämä niin sanotut vaatimusriskit ovat tyypillisesti seurausta vaatimuksista, jota ovat väärin tunnistettuja, epäselvästi kuvattuja, teknisesti monimutkaisia, riittämättömästi määriteltyjä tai helposti muuttuvia. Jos vaatimuksiin liittyviä riskejä ei hallita tietojärjestelmän kehitysprosessin aikana, kasvaa riski sille, että hanke epäonnistuu saavuttamaan tavoitteitaan. Tietojärjestelmäkehityksen riskejä on käsitelty lukuisissa tutkimuksissa, mutta näyttää siltä, että tämän päivän tietojärjestelmätieteen tutkimus ei tarjoa paljoa vaihtoehtoja metodeiksi, joiden avulla on mahdollista analysoida ja priorisoida vaatimusriskejä. Tässä pro gradu -työssä tutkitaan, kuinka nykyiset tietojärjestelmien kehitysmenetelmät lähestyvät vaatimusriskejä ja niiden priorisointia. Kirjallisuuskatsauksessa keskustellaan siitä, miten vaatimusten hankinta, kehittäminen ja hallinta nähdään ketterissä kehitysmenetelmissä ja kuinka vaatimusriskien priorisointi ja hallinta toteutuvat menetelmissä. Työ kuvaa myös vaatimusten sekä vaatimuksiin liittyvien artefaktien laatukriteerien kategorisoinnin, vaatimusten laadun parantamiseen tähtäävien tekniikoiden katsauksen sekä toimenpiteitä, joilla vaatimusten laadun kehittämistä tietojärjestelmäkehityksessä voi parantaa. Työssä tarkastellaan myös vaatimusriskien hallintaa yleisen ketterän kehitysmallin kehyksessä ja kuvataan, miten vaatimuksiin liittyviä riskejä käsitellään ketterissä menetelmissä. Nykyaikaisissa tietojärjestelmien kehitysmenetelmissä, kuten ketterissä menetelmissä, on useita sisäänrakennettuja piirteitä, jotka auttavat vaatimusriskien hallinnassa. Kirjallisuuskatsaus vaatimushallinnan ja –analyysin menetelmiin osoittaa, että vaatimusriskejä hallitaan pääsääntöisesti siten, että pyritään tuottamaan mahdollisimman korkealaatuisia tietojärjestelmävaatimuksia. Tämä toteutuu siten, että kehittäjät soveltavat parhaita käytäntöjä vaatimusten hankinnassa, kehittämisessä ja hallinnassa koko järjestelmän elinkaaren ajan. Tämän päivän kehitysmenetelmät korostavat käyttäjäkeskeistä ajattelua, sidosryhmäyhteistyön merkitystä sekä asiakkaan arvontuotannon ymmärtämistä. Taustaoletus on, että käyttäjäkeskeisten kehitysmenetelmien avulla sekä asiakkaan arvontuotantoa ymmärtämällä saavutetaan parempi vaatimusten oikeellisuuden taso sekä siten parempi luottamus siihen, että kehitetään oikean-laista järjestelmää. On huomionarvoista, että vaikka alan kirjallisuudessa melko yksimielisesti todetaan vaatimusten hallinnan epäkohtien olevan merkittävä tietojärjestelmäprojektien epäonnistumiseen vaikuttava tekijä, niin silti vaatimuksiin liittyviä riskejä lähestytään harvoin riskienhallinnan näkökulmasta. Riskienhallinnallisessa lähestymistavassa vaatimuksiin liittyvät riskit ensin tunnistetaan, sitten niiden sekä valitaan toimenpiteet riskien hallitsemiseksi. Tuunanen & Vartiainen (2016) esittelevät tutkimuksessaan vaatimusriskien analysoinnin ja priorisoinnin menetelmän. Tässä työssä tutkitaan sitä, kyseinen menetelmä (Tuunanen & Vartiainen, 2016) käsittelee vaatimusriskejä sekä niiden hallintaa ja pienentämistä. Työssä tutkitaan erityisesti menetelmän sovellettavuutta ja hyödyllisyyttä tapaustutkimuksen keinoin esimerkkiprojektissa. Tutkimuksessa data kerättiin käytännön sovelluskehitysprojektin yhteydessä viidellä puolistrukturoidulla asiantuntijahaastattelulla sekä projektin määrittelytyöpajassa pidetyllä observoinnilla. Esimerkkiprojekti oli asiakas, jossa kehitettiin jo käytössä olevaan ohjelmistoon uusia ominaisuuksia ketterin menetelmin ohjatussa projektissa. Tapaustutkimus osoittaa, että vaatimusriskien analysointimenetelmä nähtiin uutena lähestymistapana tutkimuksen osallistujien näkökulmasta. Menetelmää pidettiin tarpeeseen sopivana ja sen koettiin antavan arvokasta tietoa projektin vaatimuksiin liittyvistä riskeistä. Menetelmässä oli kuitenkin vaiheita, joita ei pidetty soveltuvana projektissa. Tähän liittyen kirjattiin menetelmän kehitysideoita ja jatkotutkimuskohteita. Erityisenä havaintona tapaustutkimuksessa nousi tarve menetelmän soveltamiseen projektin kontekstin mukaisena. Tapaustutkimuksen perusteella näyttää siltä, että kyseisessä projektissa menetelmä on erityisen arvokas projektissa sovelluskehityspalvelua ostavan asiakkaan projektijohdolle, sillä se tarjoaa uuden tavan hallita projektiin liittyviä riskejä.