Vaatimustenhallinta laadun tukena Tapani Aaltio ja Sari Kujala tapani.aaltio@hut.fi sari.kujala@hut.fi Qure-projekti http://www.soberit.hut.fi/qure
Esityksen sisältö Vaatimustenhallinta lyhyesti Vaatimustenhallinta ja laatu Vaatimusten laadun takeita Vaatimusten hankinta Vaatimusten dokumentointi Vaatimusten muutostenhallinta
Vaatimustenhallinta lyhyesti
Vaatimustenhallinnan käsitteitä Tarpeet Vaatimukset Asiakas- ja käyttäjävaatimukset Tekniset vaatimukset
Vaatimustenhallinnan käsitteitä Tarve Haluaa katsoa televisiota ja vaihtaa kanavia sohvalla maaten. Käyttäjävaatimus Oltava kaukosäädin, josta voi vaihtaa kanavia. Systeemivaatimus Televisiossa moduli xyz. Kaukosäätimessä moduli zyx.
Vaatimustenhallinta ohjelmistotuotekehityksessä Asiakas- ja käyttäjätarpeet Vaatimukset Tuotekehitysprojekti Tuotteen versio Vaatimukset Tuotekehitysprojekti Tuotteen versio Vaatimukset Tuotekehitysprojekti Tuotteen versio
Vaatimustenhallinta ja laatu
Ongelmia vaatimustenhallinnassa? Vaatimukset määritetään teknisestä näkökulmasta, ei käyttäjien näkökulmasta Vaatimusten dokumentointi ei vastaa tuotekehityksen tarpeita Vaatimukset muuttuvat hallitsemattomasti tuotekehitysprojektin aikana
Mitä on ohjelmistotuotteen laatu? Pressman (1992): Laatumittarit ilmaisevat kuinka tarkasti ohjelmistotuote vastaa asiakkaiden implisiittisiä ja explisiittisiä vaatimuksia Davis et al. (1993): Vaatimusten laatu auttaa kehittämään onnistuneesti ja kustannustehokkaasti ohjelmiston, joka ratkaisee todellisia käyttäjätarpeita Laatu johtaa käyttäjätyytyväisyyteen
Vaatimusten laadun takeita Onnistunut vaatimustenhankinta Käyttäjätarpeet ymmärretään mahdollisimman aikaisessa vaiheessa vrt. itsetutkiskelu Vaatimusten dokumentointi Vaatimukset kommunikoidaan asianomaisille helposti hyödynnettävässä muodossa Vaatimusten muutostenhallinta Vaatimuksia ylläpidetään ja muutetaan harkitusti
Vaatimusten hankinta ja dokumentointi
Vaatimusten hankinta Blackburn et al. (2000): Investoinnit tuotekehityksen alkuvaiheeseen johti nopeampiin sykleihin ja parempaan tuottavuuteen Prodromos & Macaulay (1996): Iteraatioita tarvittiin vähemmän, jos käyttäjät olivat päätietolähteenä Keil & Carmel (1995): Onnistuneilla projekteilla enemmän suoria linkkejä asiakkaisiin ja käyttäjiin
Käyttäjätarpeista systeemivaatimuksiin KÄYTTÄJÄ-TARPEET KÄYTTÄJÄ-VAATIMUKSET SYSTEEMI-VAATIMUKSET • Kuka käyttää ja miksi? • Käyttäjien tuomat mahdollisuudet ja rajoitukset • Mitä systeemin pitää tehdä, että se täyttää käyttäjä-tarpeet? • Käyttäjien näkökulma • Miten systeemi on toteutettava? • Tekninen näkökulma
Käyttäjätarve Ongelma, joka estää käyttäjää saavuttamasta tavoitteitaan. Mahdollisuus, joka auttaisi käyttäjää saavuttamaan tavoitteitaan paremmin. Tärkeä tekijä on käyttökonteksti, josta seuraa rajoitteita ja mahdollisuuksia vaatimuksille: käyttäjien ominaisuudet, nykyiset tehtävät ja ympäristö.
Käyttäjätarve-esimerkki Tehtäväsekvenssi Ongelmat ja mahdollisuudet Korkea prioriteetti 1. Käyttäjä käynnistää tv:n rentoutuakseen töiden jälkeen 2. Käyttäjä lösähtää sohvalle, mutta haluaakin vaihtaa kanavaa Käyttäjälle mieluinen kanava voi vaihtua kesken katselun. Käyttäjä haluaa säätää äänenvoimakkuutta nopeasti esim. vastatakseen puhelimeen. 3. Käyttäjä nousee sohvasta ja menee tv:n luo vaihtamaan kanavaa Käyttäjä joutuu nousemaan sohvalta, vaikka hän haluaa rentoutua. X
Käyttäjävaatimus Toiminto tai ominaisuus, mikä systeemillä on oltava, että se täyttää käyttäjätarpeet. Käyttäjävaatimukset kuvaavat, miten systeemi auttaa käyttäjiä paremmin saavuttamaan tavoitteitaan. Käyttäjätarpeista on valittu ne, joihin systeemillä voidaan kustannustehokkaasti antaa ratkaisu.
Käyttäjävaatimusesimerkki USE CASE Television kaukokäyttö Summary Käyttäjä haluaa rentoutua televisiota katsoessaan ja kauko-ohjaa televisiota sohvalta käsin. Basic sequence 1. Käyttäjä käynnistää television kaukosäätimestä 2. Käyttäjä vaihtaa kanavaa kaukosäätimestä 3. Käyttäjä sammuttaa television kaukosäätimestä
Käyttäjävaatimusdokumentin sisältö Lyhyt kuvaus järjestelmästä ja sen tuomista eduista Järjestelmän käyttäjät Toiminnalliset vaatimukset Laatuvaatimukset Rajoitukset
Muutostenhallinta
Vaatimusten muutostenhallinta Vaatimuksiin tulee aina muutoksia Vaatimukset on ymmärretty väärin Kilpailutilanne Muutokset on dokumentoitava ja toteutettava systemaattisesti Muutosten vaikutukset on analysoitava Vaatimusdokumentit on päivitettävä
Vaatimustenhallinta ohjelmistotuotekehityksessä Asiakas- ja käyttäjätarpeet Muutokset Vaatimukset Tuotekehitysprojekti Tuotteen versio Vaatimukset Tuotekehitysprojekti Tuotteen versio Vaatimukset Tuotekehitysprojekti Tuotteen versio
Vaatimusten muutostenhallinta hyväksytty vaatimusdokumentti muutospyyntö päivitetty vaatimusdokumentti muutoshistoria Vaatimusten muutostenhallinta- prosessi rekisteröinti analyysi päätös dokumentointi
Vaihtoehtoinen tapa hallita muutoksia Ei hyväksytä muutoksia tuotekehitysprojektin aikana Vaatii nopeata versiosykliä
Yhteenveto Vaatimustenhallinnan avulla voidaan parantaa ohjelmistotuotteiden laatua Yritykset voisivat hyödyntää paremmin vaatimustenhallinnan potentiaalia Vaatimustenhallintakäytäntöjen parantaminen voidaan aloittaa pienellä panostuksella