Geschiedenis van de vraag:
Oorspronkelijk lag de focus bij het formaliseren van vereisten op functionele mogelijkheden, maar na verloop van tijd werd duidelijk dat de "onzichtbare" criteria (prestaties, beveiliging, fouttolerantie, enz.) cruciaal zijn voor een succesvolle implementatie en levensvatbaarheid van producten. Het negeren ervan leidde tot storingen en onvoorspelbaar gedrag van software na lancering.
Probleem:
Niet-functionele vereisten worden vaak standaard vastgelegd, zonder de context te bestuderen. Ze worden genoteerd om het vinkje te zetten of te abstract geformuleerd, bijvoorbeeld: "Het systeem moet gebruiksvriendelijk zijn" of "Het systeem moet snel zijn". Dit biedt ontwikkelaars, architecten en testers geen duidelijke KPI.
Oplossing:
De systeemanalist organiseert sessies met het bedrijfsleven, IT en exploitatie-experts om de echte beperkingen te identificeren, legt numerieke metrics vast (zoals SLA, TPS, latentie-indicatoren), beschrijft niet-functionele vereisten expliciet in specificaties en waarborgt vervolgens testbaarheid via koppeling aan testcases en architectuurartefacten van het project.
Belangrijke kenmerken:
Is het mogelijk om groepen vereisten gewoon als "Het systeem moet 24/7 beschikbaar zijn" zonder detaillering te laten?
Nee, het zijn absoluut noodzakelijk om de beschikbaarheidparameters (bijv. 99,95%) en herstelvoorwaarden te verduidelijken.
Is het voldoende om te vermelden "de responstijd moet snel zijn"?
Nee, dergelijke formuleringen zijn niet werkbaar. Het moet bijvoorbeeld worden aangegeven: Responstijd < 3 seconden bij 95% van de verzoeken met belasting X.
Zijn niet-functionele vereisten geformaliseerd als ze alleen in het algemene specificatiedocument staan zonder verdere detaillering?
Nee, ze moeten worden gedecomprimeerd en gekoppeld aan architectonische oplossingen en testplannen, anders blijven ze onverwerkbaar of niet te valideren.
Negatief geval: Het e-banking project werd gelanceerd met de vereiste "24/7 beschikbaarheid, snelle werking", zonder SLA specificatie.
Voordelen:
Nadelen:
Positief geval: De analist werkte met de exploitatieafdeling, legde 99,9% uptime vast, Max Responstijd 2 sec, beschreef degradatiescenario's.
Voordelen:
Nadelen: