Kwaliteitsborging in ontwikkeling: voorkomen is beter dan genezen

16 01 2023
  • IT
  • SAP

Of je nu auto's of code bouwt, het belang van kwaliteitsborging (QA) kan niet genoeg worden benadrukt. Niet alleen leidt het inleveren van kwaliteit tot ontevredenheid bij de klant - of erger nog: ongelukken - het veroorzaakt ook aanzienlijke vertragingen en extra kosten. Het is niet verrassend dat QA veel aandacht krijgt bij codering en ontwikkeling. Maar wat zijn precies de kenmerken van code van hoge kwaliteit, en hoe kunnen ontwikkelaars aan deze eisen voldoen?

Hier is één ding dat goede code niet heeft: bugs. In de informatica is een bug een fout, onvolkomenheid of fout in een programma of systeem dat een onjuist of onverwacht resultaat veroorzaakt, of de toepassing zich op een onbedoelde manier laat gedragen. Het doel van kwaliteitsborging bij ontwikkeling is het opsporen van bugs, en idealiter het voorkomen ervan. 

De nadruk ligt op preventie en hier is waarom: volgens IBM zijn de kosten van het corrigeren van een bug in de productiefase van de ontwikkeling meer dan 30 keer zo hoog als wanneer dezelfde fout in de ontwerpfase was opgespoord. Met andere woorden: hoe langer fouten onopgemerkt blijven, hoe groter hun invloed op de ontwikkelingskwaliteit en hoe duurder en tijdrovender het zal zijn om ze op te lossen. 

scheme about quality assurance

De kenmerken van hoogwaardige code

Behalve dat het bugvrij is, is code van hoge kwaliteit ook duidelijk en eenvoudig. Hij is goed getest en gedocumenteerd en voldoet aan de specificaties en normen van de klant. Om deze doelen te bereiken moeten ontwikkelaars vier hoofdprincipes in gedachten houden bij het schrijven van code:

  1. Maak het robuust: De code moet ongebruikelijke omstandigheden aankunnen en duidelijke foutmeldingen geven als dat nodig is.
  2. Maak het leesbaar: De code moet gemakkelijk te begrijpen zijn. Dit is vooral belangrijk bij grote softwareprojecten waar veel ontwikkelaars bij betrokken zijn. 
  3. Maak het duurzaam: Het moet systeemupgrades kunnen overleven zonder, of minimale, wijzigingen of correcties.
  4. Maak het overdraagbaar: Het kan gemigreerd worden naar elk ander platform zonder dat er grote veranderingen nodig zijn.

Door zich aan deze principes te houden, kunnen ontwikkelaars voorkomen dat ze "technical debt" opbouwen: de kosten van extra herwerk, veroorzaakt door het kiezen van een gemakkelijkere of snellere oplossing vandaag, of door het niet opsporen en/of corrigeren van fouten in de programmeercode. 

QA checklists en hulpmiddelen

Gelukkig zijn er genoeg manieren om het risico van fouten en inconsistenties die een project kunnen doen mislukken te minimaliseren. Grote softwarebedrijven als SAP bieden bijvoorbeeld specifieke richtlijnen voor kwaliteitsborging en ontwikkeling om consistentie te waarborgen. Deze omvatten de SAP ABAP programmeerrichtlijnen, ontwikkelingscontroleprocessen en eenheidstesten en de SAP ATC controle vóór vrijgave van transportverzoeken. 

Veel softwareleveranciers en implementatiepartners hebben ook hun eigen checklists die de meest voorkomende ontwikkelingsfouten samenvatten. Bij delaware bijvoorbeeld, wordt deze lijst voortdurend bijgewerkt met nieuwe programmeersyntaxis en best practices. 

SAP biedt ook kant-en-klare, ingebouwde hulpmiddelen voor kwaliteitsborging, waaronder SAP Code Inspector (SCI), Extended Program Check (SLIN) en ABAP Test Cockpit (ATC) voor ABAP-codes. De laatste, ATC, wordt het meest gebruikt. Het bundelt kwaliteitstools zoals syntaxcontrole, SLIN, ABAP Unit en beveiligingscontroles, en kan ook worden uitgebreid met op maat gemaakte kaders voor kwaliteitsborging. Bovendien is het instellen van geplande ATC controles eenvoudig en geeft het inzicht in de ontwikkeling van de codekwaliteit gedurende het project.

Preventie en opvolging

Natuurlijk kan kwaliteitsbewaking niet alleen aan tools worden overgelaten. Het is de verantwoordelijkheid van het hele ontwikkelteam om kwaliteitscode te leveren en te onderhouden, de kern schoon te houden, en zo snellere en goedkopere upgrades mogelijk te maken. Een ideaal kader voor kwaliteitsborging richt zich ook op preventie en opvolging.

  1. Preventie: voorkomen is beter dan genezen - training, procedures, voorcontroles, en efficiënt hergebruik van code
  2. QA-controle: geautomatiseerd testen, procescontroles en codebeoordelingen
  3. Opvolging van het incident: informeren en updaten van de klant, documenteren en feedback geven

Door dit QA-raamwerk aan te houden kunnen ontwikkelteams gemakkelijk goedgekeurde procedures toepassen en 'de kern schoonhouden'. Veel organisaties en teams hebben ook baat bij een externe partner met QA-ervaring. Door hun ervaring met talloze bedrijven in verschillende bedrijfstakken brengen deze externe professionals bewezen sets van best practices en een broodnodig outside-in perspectief. delaware biedt hen bijvoorbeeld toegang tot een database met herbruikbare code van hoge kwaliteit, die de ontwikkeling kan versnellen en de kans op fouten aanzienlijk vermindert. 

Klaar om je kwaliteitsborging te verbeteren? Neem contact op met onze experts.

Gerelateerde content