Laat requirements altijd toetsen. Ook in de kreukelzone!

Laat requirements altijd toetsen. Ook in de kreukelzone!

 

In een traditionele ICT- ontwikkelomgeving vormt de testfase van een project vrijwel altijd de kreukelzone. Als bijvoorbeeld de bouwfase is uitgelopen wordt vaak de tijd die voor het testen van het product is gereserveerd ingekort om nog op tijd (of zo snel mogelijk) te kunnen opleveren. Het grondig testen van het product wordt dan ondergeschikt gemaakt aan de opleverdatum. Ondanks het belang dat van goed testen wordt ingezien.

Oók bij het opstellen van de requirements is de testfase vaak het kind van de rekening. Als het überhaupt al is ingepland. Er zijn al ontwerpers en ontwikkelaars vrijgemaakt of ingehuurd en men wil aan de slag. Een ander argument dat je dan wel eens hoort is: “Requirements veranderen toch altijd.” Het toetsen van requirements wordt dan gezien als verspilling van tijd. Kortom, het toetsen van requirements wordt meestal niet of slechts marginaal gedaan, want men wil aan de slag. Tijd is geld.

En dat is eigenlijk heel raar. Als we naar een paar statistieken kijken, dan blijkt dat opgestelde requirements vaak nog heel veel ruimte laten voor fouten, aannames en verwarring:

  • 44% van de projecten wordt gestopt door problemen met requirements (Standish Group).
  • 56% van alle gebreken in software hebben hun oorsprong in de requirements (James Martin).
  • 82% van alle herstelwerkzaamheden komt door fouten in de requirements (James Martin).

Daar komt nog eens bij dat goedkoop duurkoop is. Al in 1978 heeft Barry W. Boehm aangetoond dat hoe later in de ontwikkeling van een product een fout wordt ontdekt, hoe hoger de kosten zijn om deze te herstellen. Deze kosten nemen zelfs schrikbarend toe. Tot wel 1000x meer wanneer een fout pas wordt ontdekt in productie.

Het laten toetsen van requirements mag je dus niet overslaan. Het kost relatief heel weinig tijd, maar bespaart later in het project, of tijdens beheer, een hoop herstelwerkzaamheden, en dus geld.

Maar wat als je toch in de kreukelzone terecht komt? Als er nauwelijks meer tijd over is of gegeven wordt voor het grondig laten toetsen van alle requirements?

Hier mijn 5 tips
 om hier zo goed en efficiënt mogelijk mee om te gaan en nog zoveel mogelijk fouten, aannames en verwarring op te sporen.

1. Wacht niet totdat alle requirements zijn verzameld.
Begin al met tussentijds toetsen zodra de requirements, of gedeelten ervan, stabiliseren.

2. Laat belanghebbenden minimaal hun eigen requirements reviewen.
Bij voorkeur zo snel mogelijk na het interview of de workshop. Ik heb regelmatig meegemaakt dat iemand dan zei: “Heb ik inderdaad zo gezegd, maar nu ik het op papier zie staan bedoel ik het toch eigenlijk anders.”

3. Laat alleen de meest kritische requirements grondig inspecteren en laat de rest alleen reviewen.
Een formele inspectie door deskundigen uit verschillende disciplines kost veel meer tijd dan een informele, vaak collegiale review. Bepaal op basis van de prioriteit van de requirements welke de meest kritische zijn.

4. Geef een checklist mee.
Checklists helpen mensen om naar specifieke problemen te zoeken. Het maakt ze (weer) opmerkzaam op veel voorkomende fouten.

5. Maak eventueel gebruik van software.
Er is tegenwoordig software op de markt waarmee je requirements documenten automatisch en heel snel kunt laten controleren op woorden en begrippen die tot verwarring kunnen leiden. Echter, gebruik dit alleen als extra hulpmiddel en niet als vervanging van mensen. Het doen van aannames en het interpreteren van woorden en begrippen blijft immers mensenwerk!

Er zijn vast nog meer tips.
Wat doe jij als jouw kreukelzone steeds kleiner wordt?

No comments yet.

Leave a Reply