90 likes | 224 Views
4. Vaatimusten hallinta . Ohjelmistotuotantoprosessin tavoitteena Asiakasvaatimukset (ja tehdyt sopimukset) täyttävän ohjelmiston kehittäminen Varmistus: vaatimustenhallinta Vaatimusmäärittely vaiheena Asiakasvaatimusten kerääminen ohjelmiston määrittelyn taustaksi
E N D
4. Vaatimusten hallinta • Ohjelmistotuotantoprosessin tavoitteena • Asiakasvaatimukset (ja tehdyt sopimukset) täyttävän ohjelmiston kehittäminen • Varmistus: vaatimustenhallinta • Vaatimusmäärittely vaiheena • Asiakasvaatimusten kerääminen ohjelmiston määrittelyn taustaksi • Vaatimustenhallinta tukitoimintona • Miten hallitaan koko ohjelmistoprosessin ajan asiakkailta tulevia vaatimuksia 4. Vaatimustenhallinta
4.1 Vaatimustenhallinta erillisenä tukitoimintona • Asiakasvaatimukset on vaikeasti määriteltävissä (ainakin ohjelmistotuotantoprosessin alussa) • Asiakasvaatimuksia syntyy koko prosessin ajan • Vaatimukset voivat muuttua prosessin aikana ja niitä on paljon • Markkinatilanteen muutokset aiheuttavat muutoksia vaatimuksissa • Vaatimusten kerääminen seuraavaa tuotantoversiota varten • Vaatimustenhallinnan liiketoiminnalliset ulottuvuudet • Kustannus/hyöty analyysit, markkina-analyysit yms. 4. Vaatimustenhallinta
4.2 Asiakasvaatimusten kartoittaminen ja analysointi • Tavoite: oikein ymmärretyt ja muuttumattomina pysyvät asiakasvaatimukset • Asiakasvaatimuksia saadaan • Markkinoinnilta, omasta organisaatiosta, asiakaspalautteena, prototyyppejä rakentamalla, ideointiaivoriihen tuloksena, kilpailijoiden tuotteita tutkimalla • Alustavat asiakasvaatimukset puutteellisia, ristiriitaisia analysointi • Selvitetään kunkin asiakasvaatimuksen tarve, perimmäinen syy • Arvioidaan kunkin vaatimuksen priorisointi • Sovitetaan yhteen ristiriitaiset vaatimukset • Kuvataan käyttötapausten (use case) avulla 4. Vaatimustenhallinta
Monesti asiakasvaatimukset esitetään ohjelmistovaatimusten muodossa: • Näytön alareunassa oleva STOP-napin on oltava punainen, järjestelmän muistiresursseista on käytössä enää 10% • Käyttäjää on varoitettava, jos muistimäärä ei enää riitä järjestelmän luotettavaan käyttöön • Vaatimusten perimmäinen syy täytyisi löytyä; miksi …? • Todellisten vaatimusten löydyttyä voidaan sitten miettiä ratkaisuja ongelmaan ja valita paras (määrittelyvaihe) • Toteutetaanko yksittäinen asiakasvaatimus vai geneerisempi, laajemmalle asiakaskunnalle soveltuva ratkaisu • Vaatimusten priorisointi: esim. välttämätön, toivottu, valinnainen • Ristiriitaiset vaatimukset kompromissit 4. Vaatimustenhallinta
Analysoidut vaatimukset • Vaatimukset voivat muuttua tai uusia vaatimuksia voi löytyä • Analysoidut vaatimukset ryhmitellään ja numeroidaan • Muutosherkkyys (volatility) 4. Vaatimustenhallinta
4.3 Vaatimusten verifiointi, validointi ja jäljitettävyys • Todennetaan vaatimusten toteutuminen vertaamalla vaatimusmäärittelyä järjestelmän toiminnalliseen määrittelyyn ja testausvaiheessa testien tulosta vastaavaan speksiin (verifiointi) • Toiminnallisten vaatimusten osalta voidaan osoittaa kohdat, jotka toteuttavat tietyn asiakasvaatimuksen (jäljitettävyys, traceability) • Toteutettavan järjestelmän osoittaminen asiakkaan tarpeita vastaavaksi (validointi, kelpoistaminen) 4. Vaatimustenhallinta
4.4 Vaatimusmuutosten hallinta • Muutosten syitä • Kaikkia asiakasvaatimuksia ei ymmärretä oikein alkuvaiheessa • Asiakasvaatimuksia voi jäädä huomaamatta • Ohjelmiston toimintaympäristössä voi tapahtua muutoksia • Jokin asiakasvaatimuksen pohjalta määritelty toiminto osoittautuu mahdottomaksi toteuttaa • Aikataulusta johtuvat muutokset asiakasvaatimusten painotuksiin • Kilpailutilanteen aiheuttamat muutokset vaatimuksiin • Teknologiavalinnat osoittautuvat epäonnistuneiksi 4. Vaatimustenhallinta
Muutostenhallintaa varten on sovittava projektissa tietyt menettelyt • Miten muutoksia asiakasvaatimuksiin hyväksytään? • Aiheuttaako muutos muutoksia muihin vaihetuotteisiin, mihin ja millaisia? • Eteenpäin jäljitettävyys • Mitä jonkin asiakasvaatimuksen poisjättäminen aiheuttaa toteutuksessa • Taaksepäin jäljitettävyys • Jos jokin osa ohjelmakoodista jätetään toteuttamatta, miten se vaikuttaa asiakasvaatimusten toteutumiseen 4. Vaatimustenhallinta