Vaatimusten jäljitettävyys

Kuvauksen kirjoitti: Sari Tauriainen, L8354

Tässä osiossa kerrotaan, mitä vaatimusten jäljitettävyys on, mitä käsitteitä se sisältää, keinoja sen soveltamiseen ja mitä hyötyä sen käytöstä voi olla.

Mitä käsite tarkoittaa?

Ohjelmistoprosessin alussa määritellään minkälainen toteutettavasta ohjelmistosta pitäisi tulla. Asiakkaalta kerätään tämän ohjelmistolle haluamat vaatimukset ja ne dokumentoidaan. Ohjelmiston toiminta määritellään tarkemmin näiden asiakaan vaatimusten pohjalta. Tämän prosessin tuloksena syntyy usein ohjelmiston toiminnallinen ja tekninen määrittely. Vaatimusten jäljitettävyyden avulla seurataan asiakasvaatimusten tarkentumista ja lopulta todetaan niiden toteutuminen. Vaatimusten jäljitettävyyden avulla selvitetään useita asioita ohjelmistolle asetetuista vaatimuksista:

• vaatimus jäljitetään sitä alun perin ehdottaneeseen henkilöön

• miksi yleensä tällainen vaatimus on olemassa

• mitkä vaatimukset liittyvät siihen tai ovat mahdollisesti riippuvaisia siitä

• miten tämä vaatimus liittyy järjestelmän suunnitteluun, toteutukseen ja dokumentaatioon

Ohjelmistoprosessin eri vaiheissa voidaan vaatimusten jäljitettävyyden avulla todentaa eli verifioida sekä kelpoistaa eli validoida vaatimusten toteutuminen. Verifiointi tarkoittaa, että järjestelmä on toteutettu oikein eli on suunnitteludokumenttien mukainen. Validointi puolestaan merkitsee, että ohjelmistoon on toteutettu oikeat asiat eli asiakasvaatimukset. Jäljitettävyys auttaa hallitsemaan vaatimusten muutoksia.
Muutosten vaikutuksen arvioiminen on helpompaa, kun tiedetään, miten vaatimukset liittyvät toisiinsa ja muihin prosessin lopputuotteisiin. Eri vaatimusten toteuttamiseen käytettyjen työmäärien avulla voidaan tehdä alustavia arvioita muutoksiin kuluvista tunneista. Jäljitettävyyden avulla voidaan todentaa ja jopa uudelleen käyttää vaatimuksia. Kun tiedetään miksi jokin vaatimus on olemassa, voidaan sitä mahdollisesti käyttää uudelleen. Vaatimusten toteutumisen todentaminen on helppoa, jos asiakkaalle voidaan osoittaa selkeä ketju tämän antamista vaatimuksista eri verifikaatiotapoihin kuten testausdokumentaation eri kohtiin. Vaatimusten jäljitettävyyttä käyttämällä ymmärretään miten ja miksi ohjelmisto täyttää eri sidosryhmien asettamat vaatimukset.

Jäljitettävyysluokat

Vaatimusten jäljitettävyys voidaan jakaa myös esi- ja jälkijäljitettävyyteen. Esijäljitettävyydellä käsitellään vaatimusten eliniässä sitä osaa, ennen kuin ne on lisätty vaatimusdokumenttiin. Sen avulla saadaan selville vaatimusten lähteen, alkuperän ja perustelujen suhde vaatimuksiin. Jälkijäljitettävyydellä puolestaan käsitellään niitä asioita vaatimusten eliniän aikana, jotka seuraavat vaatimusten lisäystä vaatimusdokumenttiin. Jälkijäljitettävyydellä selvitetään vaatimusten jäljitettävyys prosessin eri tuotoksiin kuten suunnitteludokumentit, ohjelmakomponentit ja verifikaatiotavat.

Jäljitettävyyssuhteet, kuusi erilaista

  1. Vaatimus - alkuperä: Vaatimuksen ja sen lähteen, alkuperän välinen riippuvuus. Lähde voi olla esimerkiksi jokin standardi.
  2. Vaatimus - perustelut: Vaatimuksen olemassaololle on perustelut.
  3. Vaatimus - ihmiset: Vaatimuksen tekijä saadaan selville.
  4. Vaatimus - vaatimus: Vaatimukset riippuvat toisistaan. Jonkin vaatimuksen muutos voi aiheuttaa muutoksia siihen sidoksissa oleviin vaatimuksiin.
  5. Vaatimus - ohjelmistokomponentti: Vaatimuksen ja sen toteuttavien komponenttien suhde.
  6. Vaatimus - verifikaatiotavat: Miten tiettyjen vaatimusten toteutuminen on verifioitu? Esimerkiksi mitkä järjestelmätestauksen testitapaukset todentavat tietyn vaatimuksen toteutumisen. Vaatimusten jäljitettävyyden toteuttaminen on työlästä, koska siinä käsitellään suurta määrää informaatiota, joka liittyy usealla tavalla toisiinsa. Tietoa joudutaan keräämään, dokumentoimaan ja ylläpitämään. Tämä vie paljon aikaa ja vaatii prosessilta jo tiettyä kypsyyttä. Muutostenhallinta • Arviointielin (rewiew board) arvioi muutostarpeet ja päättää tehdäänkö muutokset ja mitä muutoksia tehdään. • Arviointielin on erilainen riippuen tilanteesta Onnistunut vaatimustenhallinta, tie menestykseen

Miten lähdetään kartoittamaan vaatimuksia, kun asiakkaalla on vain haalea ajatus siitä, mitä toivotaan. Toimittajalla puolestaan on tiukasti päässään se, mitä ohjelmisto tarjoaa. Miten nämä kaksi saadaan kohtaamaan? Toimittajan ja asiakkaan vuoropuhelu voi olla tuskaista. Sitä voidaan verrata esimerkiksi siten, että yritetään työntää asiakkaan pyöreää kiveä toimittajan neliskulmaiseen sisäänottoaukkoon. Asiakkaan kielikuvat ei ole riittävän teknisiä, jotta toteuttaja sen ymmärtäisi. Toisaalta toteuttaja voi puhua kieltä, jota asiakas ei ymmärrä. Tämän tyyppiseen ongelmaan on onneksi kehitetty eräs ratkaisu, joka kantaa nimeä käyttäjätarina, User Story.

Lähteet:

http://www.soberit.hut.fi/T-76.115/01-02/palautukset/groups/CCCP/t2/laatukasikirja/vaatimusmenetel

https://www.attido.com/fi/hyvat-kaytannot/vaatimustenhallinta-on-taitolaji/

https://www.cs.helsinki.fi/u/laine/vaatima/vaati_s13_07.pdf

Linkit wikin muihin sivuihin