Content

Non-functional requirements in SAP Activate

Non-functional requirements in SAP Activate

Er gaat eigenlijk geen week meer voorbij zonder dat de media melding maken van weer een datalek of performance problemen op applicaties. In de afgelopen week zijn er bij verschillende grote Nederlandse organisaties datalekken gemeld. Vorige maand bij de start van de aangifte inkomstenbelasting was DIGID dagenlang slecht bereikbaar door de grote drukte.

Dit zijn duidelijk voorbeelden waarbij de systemen niet de gewenste veiligheid of performance leveren. Zaken als performance en security dienen bij het ontwerp, de bouw, en validatie van een applicatie meegenomen te worden in de non-functional requirements en de daarmee samenhangende tests.

Maar hoe zit het nu binnen SAP? Kan je daar ook tegen dergelijke issues aanlopen en wat biedt SAP Activate aan om dit te voorkomen?

Binnen de SAP Activate methodologie wordt er weinig aandacht besteed aan de non-functional requirements. Ze worden wel benoemd maar hoe hier vanuit een kwaliteitsperspectief mee om te gaan wordt niet echt toegelicht. Een gemiste kans! Het SAP systeem is vaak de back bone voor alle informatie gerelateerde processen, en juist hier zijn zaken als performance en security vaak van groot belang. Dit blog gaat dieper in op wat er naar onze mening moet gebeuren om wél de benodigde aandacht aan de non-functional requirements te besteden.

Een gemiste kans!

Waarom hebben we de non-functional requirements?

Laten we eerst beginnen met het uitleggen waarom je überhaupt non-functional requirements nodig hebt. Een IT systeem staat of valt (om😊) aan de hand van een verschillende kwaliteitsattributen. Veelal wordt er eerst gekeken naar functionaliteit. Doet het systeem wat het moet doen? Echter, er zijn er ook nog flink wat andere zaken die bij zullen dragen aan de acceptatie/succes van het IT systeem. Performance is hier een duidelijk voorbeeld van. Gebruikers van een systeem zullen een systeem willen wat snel reageert. Het is algemeen bekend dat een systeem wat slechte performance heeft, klanten en dus omzet/winst kan kosten. Een ander non-functional requirement welke tegenwoordig veel aandacht krijgt is security. Er gaat bijna geen dag voorbij dat er in de media weer melding wordt gebruikt van een data-breach. Dit wil je als organisatie uiteraard voorkomen.

Wanneer stel je de non-functional requirements vast?

Het vaststellen van de non-functional requirements dient te gebeuren gedurende tijdens de Explore fase van SAP Activate. Dit klinkt misschien heel erg vroeg maar tijdens deze fase worden al beslissingen genomen over de sizing en hosting van het systeem. Input daarvoor moeten onder andere de non-functional requirements zijn. Worden deze niet meegenomen dan kunnen er al vroeg beslissingen genomen worden welke uiteindelijk het project gaan beperken of later in het proces, en dus tegen hogere kosten, teruggedraaid moeten worden.

Wanneer test je de non-functional requirements?

Als we kijken naar SAP Activate zien we drie testtypes gerelateerd aan non-functional requirements:

  • Security testing
  • Performance testing
  • Technical infrastructure testing

Wat opvalt is dat de uitvoer van deze testtypes gepland worden tijdens de QA fase van de Realize fase. Naast dat dit toch wel weer erg als een waterval aanpak klinkt is het ook gewoon veel te laat in het project. Laten we er even van uitgaan dat er op één van de 3 genoemde testtypes een probleem wordt gevonden. De kosten om dit probleem op te lossen zullen hoog zijn omdat het project al op het einde loopt (veel rework) plus dat er misschien wel gewoon geen tijd meer is om het issue op te lossen.

The sooner, the better?

Wij zijn van mening dat er binnen SAP Activate te laat wordt begonnen met het testen van de non-functional requirements. Maar hoe kan je dan eerder beginnen?

De eerste stap om eerder te beginnen (shift left) is eigenlijk al door tijdens de Explore fase de non-functional requirements duidelijk vast te leggen. Op deze manier wordt er zonder al daadwerkelijk te testen een goede basis gelegd voor een systeem. Immers, de IT-organisatie zou deze requirements moeten meenemen in de sizing en hosting van het systeem.

Zodra er een IT systeem beschikbaar is, zelfs met beperkte functionaliteit, kunnen er al nuttige non-functional tests worden uitgevoerd. Denk hierbij aan de tests om te kijken hoe snel en hoeveel gebruikers er gelijktijdig in kunnen loggen of kan het systeem gehackt worden?

Tijdens de verdere ontwikkelfasen kunnen voor de items welke in scope zijn qua performance de tests aangemaakt worden en in isolatie (per functionaliteit) uitgevoerd worden. Dit geeft per functionaliteit een duidelijke eerste indicatie qua performance. Door vervolgens de scripts ook gecombineerd én regelmatig uit te voeren kan er een continubeeld van de performance verkregen worden. Begin dus klein en breidt uit, het klinkt zowaar bijna agile😊

Uiteraard dienen de non-functional tests ook uitgevoerd te worden aan het einde van het project, maar door vroeg te beginnen en te testen gedurende de ontwikkelfase zullen issues eerder gevonden worden en dus een veel lagere impact hebben.

Klaar!?

En dan heb je je tests uitgevoerd en ga je live! Mooi zo, we zijn klaar. Of toch niet? In mijn visie niet! Vanuit de filosofie van “shift right” zal je op je productie moeten gaan monitoren op zaken als performance en security. Immers, een productiesysteem ondergaat ook continu wijzigingen. Je wilt dus duidelijk kunnen zien wat er daadwerkelijk gebeurt op productie (observability) en indien nodig daar op bijsturen.

Het vastleggen van wat je wilt monitoren tijdens productie moet eigenlijk al gebeuren tijden de Explore fase. Immers, daar moet nagedacht worden over hoe deze monitoring in te regelen. Hoe mooi zou het dan zijn als deze monitoring ook al tijdens de projectfase aanwezig is zodat er ook op die manier bijgestuurd kan worden. Bijkomend voordeel is dat de organisatie dan ook kan wennen aan de monitoringstools en deze indien nodig kunnen finetunen.

Call to action

Wat zijn jouw ervaringen met non-functional requirements binnen SAP Activate? Vind jij dat er genoeg aandacht aan wordt besteed of zie ij het als een gebied waar nog veel winst te behalen valt? Mocht je meer over dit onderwerp willen bespreken aarzel dan vooral niet om contact met me op te nemen!

Terug