Betekenis: Requirements engineering
Requirements engineering is het proces van het verzamelen, valideren en beheren van vereisten voor software zoals gedefinieerd door klanten of eindgebruikers.
Deze taak wordt volbracht in als een van de eerste stappen bij softwareontwikkeling.
Tijdens dit ontwerpproces is een groep ontwikkelaars, klanten en in het meest ideale geval ook eindgebruikers betrokken. De requirements engineering heeft als doel om de softwareontwikkelaar de goede richting uit te sturen. Dit doordat hij na deze fase weet wat de klant of eindgebruiker van de software verwacht.
Hoe werkt requirements engineering?
tEigenlijk is het belangrijkste van requirements engineering dat deze stap uitgevoerd word aan het begin van een softwareontwikkeling traject.
Als eerst wordt de gebruikersbehoefte in kaart gebracht, wat wil deze gebruiker dat de software gaat doen? Welk probleem moet het oplossen, en welke functionaliteiten moet de software bijvoorbeeld allemaal hebben? Een methode om dit in kaart te brengen die je kan gebruiken is het opstellen van een persona.
Vervolgens ga je de verzamelde klantvereisten analyseren. Hierbij beoordeel je hoofdzakelijk de haalbaarheid van de vereisten.
Wanneer dit eenmaal duidelijk in kaart is kan je de opdrachtgever een oplossing aanbieden. Hierbij kan je aangeven of alle wensen haalbaar zijn en hoe je deze wil gaan realiseren. Met het oog op verwachtingsmanagement is dit een erg belangrijke stap. Zorg dan ook dat je tijdens deze stap de bevestiging van de klant krijgt dat je zijn wensen goed hebt begrepen.
Wanneer dit eenmaal duidelijk in kaart is stel je de daadwerkelijke requirements op die uitgewerkt moeten gaan worden in de vorm van de software.
Belang van requirements engineering
Een goede requirements engineering fase is een belangrijke stap in elk softwareontwikkeling traject. Na een succesvolle requirements engineering fase wordt er aangenomen dat als alle in kaart gebrachte requirements correct worden uitgevoerd, de uiteindelijk ontwikkelde software niet tekort zal schieten in termen van ontwerp of functionaliteit.
Requirements engineering geeft een visie op hoe de uiteindelijke software zal gaan worden. Dit creëert in veel gevallen dan ook een gevoel van begrip tussen de opdrachtgever en de ontwikkelaar.
Ook biedt het voor de ontwikkelaar een afbakening, wat moet hij wel en wat moet hij niet gaan realiseren met de software. Dit helpt ook mee om de kosten van de uiteindelijke software niet onnodig hoog te laten worden. Door deze heldere afbakening kunnen ook deadlines makkelijker worden vastgesteld en behaald.
Waar voldoen goede requirements engineering aan?
De eisen die van de klant worden verzameld, moeten nauwkeurig zijn en de behoeften van de klant communiceren met de ontwikkelaar. Kwaliteitseisen hebben de volgende kenmerken:
Compleet
Het is van groot belang dat de eisen compleet zijn. Dit klinkt logisch, maar heeft alles te maken met de communicatie tussen de opdrachtgever en de ontwikkelaar.
Consistentie
Vooral bij grote projecten is het belangrijk de consistentie te waarborgen. Wanneer je bijvoorbeeld werkt met meerdere eindgebruikers is het belangrijk dat de eisen van gebruiker x niet in strijder zijn met die van gebruiker y.
Specifiek
De eisen moeten enorm specifiek zijn, met andere worden: ze moeten niet anders geïnterpeteerd kunnen worden.
Functies
Een vereiste specificeert wat de software moet kunnen. En dus niet hoe de software dit moet uitvoeren. Dit zal tijdens het ontwikkelproces blijken.
Kort en bondig
De vereiste moet geen onnodige details bevatten.
Geen overlap
Er moet geen overlap zijn tussen verschillende vereiste. Dit zal voor onduidelijkheden tijdens de ontwikkeling zorgen.
Begrijpelijk
Met het oog op verwachtingsmangement is het van groot belang dat de vereiste begrijpelijk zijn, zowel voor klant als ontwikkelaar.
Haalbaar & testbaar
De vereiste moet (technisch) haalbaar zijn en vervolgens ook kunnen worden getest of deze werkt.
Wil jij software laten maken?
Carthago ICT is softwareontwikkelaar met jarenlange ervaring binnen diverse branches! Laten we samen kijken naar jouw uitdaging.