Blog

Ontwikkelingen in het Requirements vakgebied

Requirements Engineering is een relatief jong vakgebied dat pas vanaf het einde van de twintigste eeuw op grote schaal werd toegepast. Sinds die tijd bevestigen onderzoeken keer op keer dat gedegen requirements een kritieke succesfactor zijn voor software ontwikkelprojecten. Het vakgebied heeft dan ook een sterke ontwikkeling doorgemaakt. Ik heb de belangrijkste ontwikkelingen op een rij gezet.

Systeemperspectief van requirements

In de jaren zeventig van de vorige eeuw was men tot het inzicht gekomen dat de gewenste acties van het systeem (de functionaliteit) en de implementatie daarvan (de technische oplossing) afzonderlijk bekeken moeten worden. Door het WAT van het HOE te scheiden, kwam er expliciet aandacht voor requirements.

Software requirements

In de eerste twee decennia werden de requirements uitsluitend vanuit het systeemperspectief benaderd. Hierbij stonden het systeem en de eisen die de business daaraan stelt centraal. Deze eisen worden softwarerequirements genoemd en zijn onder te verdelen in functionele en niet-functionele requirements.

Atomaire beweringen

Het was gebruikelijk om requirements als atomaire beweringen te beschrijven. Iedere bewering bevat dan precies één eenduidig geformuleerde requirement. Voor een gemiddeld systeem ging het al snel om honderden gedetailleerde softwarerequirements die in excel of in een requirements management tool beheerd werden. Ook het product Software Requirements Specificatie (SRS) stamt uit deze tijd.

Businessperspectief van requirements

Vanaf de jaren negentig is het accent verschoven van de functionaliteit van het systeem naar de omgeving waarin het systeem opereert. Het systeem ontleent haar bestaansrecht immers aan de toegevoegde waarden die het levert aan de business. Het is daarom beter om de requirements vanuit de te ondersteunen business processen te benaderen. Hierdoor blijft de aandacht van het softwareontwikkelteam gericht op de toegevoegde waarden die het systeem moet leveren. Het systeem is immers geen doel op zich.

Business requirements

Bij het businessperspectief staan de behoeften van de business aan geautomatiseerde ondersteuning centraal. Het businessperspectief voegt aan het systeemperspectief toe 'waarom' het systeem gewenst is en 'wat' voor proces of activiteit het systeem moet ondersteunen. Dit zijn achtereenvolgens de business- en de gebruikersrequirements.

Use cases

Use cases groeiden in de negentiger jaren uit tot de standaard techniek voor het specificeren van de requirements. Een use case geeft aan hoe het systeem en de gebruiker samenwerken om een eindresultaat te halen dat waarde heeft voor de gebruiker. Alle acties van het systeem en van de gebruiker die nodig zijn om het doel van de gebruiker te halen zijn gegroepeerd tot een use case.

Just in time requirements

Sinds de eeuwwisseling is agile softwareontwikkeling sterk in opkomst. Dit heeft zijn weerslag op Requirements Engineering. Agilisten vinden immers dat het onmogelijk en onwenselijk is om aan het begin van het software ontwikkeltraject de requirements te specificeren. De gebruikers kunnen vooraf niet precies aangeven wat ze nodig hebben en wijzigingen in de requirements zijn onvermijdelijk vanwege voortschrijdend inzicht en veranderende omstandigheden.

Agile projecten werken incrementeel en iteratief. Ze beginnen met de meest basale variant van het systeem en breiden de software iedere iteratie uit op basis van feedback van gebruikers en op basis van just in time requirements. Het toevoegen en uitwerken van nieuwe requirements stellen agilisten zo lang mogelijk uit. Hierdoor ontstaat een continue stroom van just in time requirements, net voordat het ontwikkelteam die nieuwe informatie nodig heeft. Op dat latere moment is er meer informatie beschikbaar, hebben gebruikers eerdere versies van het systeem al gezien en is onderhouden van een requirements-'voorraad' niet nodig.

User stories

In agile omgevingen zijn uer stories de meest gebruikte techniek voor het communiceren van requirements. Een user story luidt meestal als volgt: Als een

<type gebruiker> wil ik <iets doen> zodat ik <er iets aan heb>.

Deze zin is geen exacte specificatie maar een 'reminder' voor de mondelinge afstemming over de requirement tussen de gebruiker (product owner) en de ontwikkelaars.
Deze blog is geschreven door Nicole de Swart. Heeft u ook iets wat u bezig houdt? Meldt u dan aan als auteur en plaats uw eigen blog
Categorie:   
Auteur
afbeelding van reaco
Nicole de Swart
Reaco - Requirements Specialist

Nicole de Swart is requirements specialist en werkt als zelfstandig consultant, trainer en (agile) coach. Ze is de auteur van ‘Handboek Requirements – Brug tussen business en ICT’. Nicole geeft regelmatig trainingen voor de Reaco Academy en is deeltijd docent Bedrijfskundige Informatica aan de Hogeschool van Amsterdam.

Nieuwe reactie inzenden

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.
Indien het niet lukt om een reactie te plaatsen, stuur dan uw reactie naar redactie@xr-magazine.nl.
Alle inzendingen dienen correct, professioneel en beschaafd te zijn. IP-adressen worden gelogd, maar niet gepubliceerd. De redactie van XR Magazine behoudt zich het recht voor om anonieme reacties (niet op naam) of zonder geldig e-mailadres, te verwijderen zonder kennisgeving. Ook reacties waarin commerciële uitingen worden gedaan en/of commerciële producten en diensten worden aangeboden worden door de redactie verwijderd of ontdaan van commerciële uitingen zonder kennisgeving.