Return to site

Miten vältät viisi vaatimusmäärittelyn sudenkuoppaa?

Lähes jokainen tietojärjestelmien kehittämistöissä oleva on tehnyt vaatimusmäärittelyä – tietoisesti tai tiedostamatta. Kun vaatimusmäärittelyä tehdään tietoisesti, joudutaan väistämättä ottamaan kantaa moniin vaatimusmäärittelyn peruskysymyksiin ja usein niihin kompastutaan. Käsittelen tässä tekstissä muutamia vaatimusmäärittelyn sisällöllisen lopputuloksen kannalta oleellisia asioita, joiden kanssa usein pudotaan sudenkuoppaan.

  1. Jaguar vs. Lada

Hyvin tehty vaatimusmäärittely perustuu aina liiketoimintajohdon asettamiin tavoitteisiin, johon vaatimusmäärittely vastaa. Tällä menettelytavalla kehitettävä kokonaisuus vastaa parhaalla mahdollisella tavalla liiketoiminnan tarpeita. Tänä päivänä kustannustehokkuus, lyhyt time-to-market jne aiheuttavat sen, että liiketoimintajohdolle usein riittää, että ainakin ensimmäisessä vaiheessa saadaan kehitettävästä kokonaisuudesta karvalakkiversio eli Lada.

Asiantuntijat tekevät käytännön vaatimusmäärittelyn ja heiltä saattaa unohtua, että tavoitteena on Lada. Kuvataan täydellinen lopputulos, joka on viimeisen päälle hieno, kaikki unelmat täyttävä eli Jaguar.

Epäsuhta vältetään, jos johto kommunikoi liiketoiminnan tavoitteet niin, että epäselvyyttä tavoitteesta ei pääse syntymään ja asiantuntijat huolehtivat, että vaatimusmäärittely ei ylitä liiketoimintajohdon asettamia tavoitteita.

2. Lillukanvarret

Vaatimusten taso on vaikea määritellä sanallisesti ja kehittäjillä on usein erilainen käsitys siitä, mikä on hyvä vaatimusmäärittelyn taso. Lillukanvarsiin keskittyminen huonontaa lähes aina vaatimusmäärittelyn kattavuutta eli osa kohdealueesta jää yleensä käsittelemättä. Liian tarkka taso vaatimusmäärittelyssä aiheuttaa myös vaatimusmäärittelyvaiheen työmäärien kohtuutonta paisumista ja sotkee työnjakoa eri työvaiheiden välillä.

Yleensä on tarkoituksenmukaista kahlata koko kohdealue kertaalleen läpi sopivalla tarkkuustasolla ja sen jälkeen tarkentaa liiketoiminnan tavoitteen ja priorisoinnin mukaan tärkeimpiä alueita, jos on aikaa. Oleellista on, että liian karkealla tasolla olevaa vaatimusmäärittelyä voidaan aina tarkentaa.  Jos keskitytään lillukanvarsiin, sieltä on vaikea palata ylemmälle tasolle. Varmista siis, että vaatimukset ovat hallussa karkealla tasolla. Usein se saattaa riittää.

3. Ratkaisu

Vaatimusmäärittelyssä kuvataan, mitä halutaan. Vaatimusmäärittelyn tarkoituksena ei ole kuvata, miten vaatimukset toteutetaan. Tämä on sudenkuoppa, johon ehkä useimmin pudotaan. Vaatimusmäärittelyssä ei uskalleta kuvata vaatimuksia, joiden toteuttamiskelpoisuudesta ei olla varmoja.

Vaatimusmäärittelytyössä pitäisi olla omana vaiheenaan vaatimusten toteuttamiskelpoisuuden arviointi, jossa voidaan arvioida vaatimuksia ratkaisun kannalta. Tarpeellisia vaatimuksia ei kuitenkaan hylätä toteuttamiskelpoisuuden arvioinnissa, mutta niiden toteutumiselle voidaan asettaa reunaehtoja.

4. Tasalaatuisuus

Tyypillinen tilanne vaatimusmäärittelyssä on, että jotkut osat on kuvattu hyvin tarkasti ja toiset osat taas hyvin karkealla tasolla tai ei lainkaan. Tämä voi olla tarkoituksenmukaista, jos taustalla on harkittu valinta esim. priorisointiin perustuen eli myöhemmin toteutettavat osat kuvataan epätarkemmin. Usein kuitenkin tarkkuustason taustalla on vaatimusmäärittelijöiden osaaminen, ajankäyttö ja tai muu epälooginen syy eikä aito priorisointi tai esim. painotukset liiketoiminnan tavoitteissa.

Kattavuuden varmistaminen vaatii kohdealueen pilkkomista sekä vaatimusmäärittelytyön aikatauluttamista niin, että jokaiselle osa-alueelle on varattu oma aika. Ja tietysti myös aikataulun noudattamista. Tasalaatuinen lopputulos edellyttää myös vaatimusmäärittelijältä riittävää osaamista.

5. Epäloogisuus

Vaatimusmäärittelyn epäloogisuus syntyy yleensä sitä kautta, että työtä tehdään liian pienissä palasissa ja/tai vastuu on hajautettu liikaa. Epäloogisuus aiheuttaa paljon haittaa, myöhästymisiä ja ylimääräisiä kustannuksia seuraavissa vaiheissa. Pahimmillaan epäloogisuus huomataan hyvin myöhäisessä vaiheessa esim. testauksessa ja sen korjaaminen aiheuttaa paljon työtä. Epäloogisuuteen liittyvät virheet joudutaan yleensä korjaamaan vaatimusmäärittelystä lähtien, eli korjausketju on pitkä. Lisäksi ristiriitaisista vaatimuksista aiheutuu selvittelyä, joka voi olla hyvin työlästä ja laajavaikutteista ja ne voivat vaikuttaa myös sopimuksiin.

Epäloogisuutta voidaan välttää huolehtimalla siitä, että kohdealue on pilkottu tarkoituksenmukaisella tavalla ja mahdolliset epäloogisuutta aiheuttavat kohdat tunnistettu jo etukäteen. On myös hyvä, jos jollain on kokonaisvastuu vaatimusmäärittelyn tasosta, kattavuudesta ja loogisuudesta, vaikka vaatimusmäärittelyä tehtäisiinkin osissa.

Kirjoittaja on Hillevi Päällysaho, pitkän linjan vaatimusmäärittelijä, kyseenalaistaja ja liiketoimintakonsultti. Jatkamme aiheesta vaatimusmäärittely ja ketterä kehittäminen myöhemmin tänä keväänä. Pysy kanavalla!

All Posts
×

Almost done…

We just sent you an email. Please click the link in the email to confirm your subscription!

OKSubscriptions powered by Strikingly