Nieuws

‘Als opdrachtgever moet je er tijdig bij zijn’

Al lijkt software goed te werkten, onder de motorkap kan de code een ramp zijn. De betere softwareleverancier zet methoden en tools in om de kwaliteit in de breedte te verbeteren. Maar ze zien wel graag dat de opdrachtgever ze tijdens het ontwikkelen al kritisch volgt.

Goede software kun je als opdrachtgever keihard van een leverancier eisen, maar kríjg je die daarmee ook? Leveranciers vinden stempels, certificaten en afvinklijstjes maar van beperkte waarde. “Kwaliteit is in de aanbesteding nauwelijks een onderscheidend criterium”, sombert Jelle de Vries, principal consultant van Ordina. “Er staat wel dat kwaliteitsonderdelen voor 70 procent meetellen en de prijs voor 30 procent, maar in de praktijk zit het aanbod van leveranciers zo dicht tegen elkaar aan dat de kwaliteitsspecificaties totaal niet onderscheidend zijn.”


Zonder goede software geen succesvolle overheids-ICT. De kwaliteit van software is een onderwerp dat bestuurders aangaat. Software is niet tastbaar, maar je kunt de kwaliteit ervan wel degelijk controleren. Dat inzicht geeft een opdrachtgever houvast om zijn rol goed in te vullen en verkleint daarmee de risico’s op ICT-falen. Maar in de praktijk gaat het vaak anders. ‘Goed geregeld’ is een verzameling artikelen waarin iBestuur een poging doet een vinger achter deze problematiek te krijgen.
Onder redactie van Maarten Hillenaar en Jan Polkerman!

Op 23 november organiseert iBestuur een symposium in Nieuwspoort over softwarekwaliteit. Gratis toegang voor deelnemers uit de publieke sector!

Met andere woorden: leveranciers vinken in aanbestedingsdocumenten de lange lijst met vereisten bijna identiek af. Daarmee heeft de opdrachtgever op papier alles afgedekt en ligt de verantwoordelijkheid bij de leverancier. Maar softwarekwaliteit is een breed begrip, zoals de ISO-norm 25010 duidelijk maakt. En het zou goed zijn als de opdrachtgever er dichter op zou zitten, zeggen de leveranciers. De Vries: “Het gebeurt niet vaak dat opdrachtgevers zelf naar de code kijken of dicht op het ontwikkelproces zitten. Dat kan helpen. Vreemde ogen dwingen. Open-sourcecode is vaak kwalitatief goed omdat programmeurs weten dat anderen meekijken. We zien dat bij de overheid niet gebeuren. Sommige andere klanten komen nog wel eens langs om een kijkje in de keuken te nemen. Dat is goed voor het begrip en houdt de ontwikkelaars scherp en betrokken.”
Kritische belangstelling motiveert, bevestigt Kees Kranenburg, offering manager bij Atos: “Kwaliteit van software stijgt navenant met de motivatie van de ontwikkelaars. Daar moet je zeker als bedrijf maar ook als opdrachtgever op sturen. Het is niet voor niets dat Agile-methodieken populair worden. Je kunt dan veel korter op de bal spelen.”

Kwaliteitsborging

Softwareleveranciers gebruiken tools om de kwaliteit te borgen. Een moderne ‘ontwikkelstraat’ is voorzien van geïntegreerde controlemiddelen, zoals een tekstverwerker een spellingchecker heeft. En na een dag programmeren kan de code ’s nachts door meer tijdrovende testprocedures worden gehaald.
Leen Blom, manager R&D bij Centric: “Bij ons laten we ontwikkelaars bovendien structureel elkaars werk controleren. Dat werkt: je wilt niet te kijk staan voor je collega’s. Daarnaast doen we nog een uitgebreide controle op de componenten die zijn afgerond. Daar moet dan een bepaald niveau uitkomen. Anders gaat het terug naar de makers.”
Ook bij Atos is geautomatiseerde kwaliteitscontrole normaal. Het is bovendien gebruikelijk de opgeleverde onderdelen nog aan geautomatiseerde inspecties, zoals Cast en Sonar, te onderwerpen. “Dergelijke producten geven feilloos aan waar de problemen zitten”, aldus Kranenburg. Visuele inspecties – in de code kijken – zijn volgens hem niet meer van deze tijd; veel te tijdrovend.
De softwareleveranciers hebben alledrie ervaring met externe auditbedrijven. Kranenburg: “Naar gelang de wens van de klant stellen we onze interne kwaliteitsrapporten beschikbaar of wordt de controle uitbesteed aan een derde partij. Als een klant het gevoel heeft dat wij de slager zijn die zijn eigen vlees keurt, is het beter een onafhankelijke partij in te schakelen. Wij hebben recent een nieuw systeem ontwikkeld voor het CIZ, waarbij we vooraf hebben afgesproken die software extern te laten testen. Daar hebben we vier van de vijf sterren voor gekregen.” Volgens Kranenburg vragen klanten in toenemende mate om dat soort audits.

Sterren

Externe kwaliteitscontroleurs hebben kortom de wind mee. Blom: “Maar dat soort instituten wordt er wel vaak in een laat stadium bijgehaald, meestal na een lang ontwikkeltraject. En als er dan negatief oordeel uitkomt. Wat dan? Softwarekwaliteit, daar moet je als opdrachtgever echt tijdens de rit bij zijn.”

Je kunt eindigen met fantastisch onderhoudbare, maar trage software

En een vier-sterren-oordeel zegt ook niet alles. De Vries: “Klanten eisen vaak dat je op minstens vier sterren uitkomt. Die TÜViT-ranking die SIG hanteert toetst vooral de onderhoudbaarheid. Maar kwaliteit heeft veel meer dimensies. En een complexe vraagstelling levert complexe software op. Het is vaak zo dat wat je aan de ene kant wint, je aan de andere kant moet inleveren. Zo kun je als gevolg van zo’n vier-sterren-eis eindigen met fantastisch onderhoudbare software die traag is in gebruik.”
Waar dergelijke metingen volgens De Vries altijd nuttig voor zijn is om de ‘erosie’ van een applicatie vast te stellen. “Naarmate de tijd verstrijkt worden er allerlei wensen in de software verwerkt. “Als die aanpassingen niet in de architectuur worden ondergebracht, gaat de onderhoudbaarheid eronder lijden. Dat zie je dan terug.”

Nederland ICT

Bij de brancheorganisatie Nederland ICT staat het onderwerp softwarekwaliteit nadrukkelijk op de agenda, zegt René Corbijn van de Software VOC, het netwerk van softwarebedrijven binnen de organisatie. Corbijn ziet momenteel twee prioriteiten. Ten eerste het bevorderen van kennis over het ontwikkelen van veilige software. “Parallel aan het onderwerp cybersecurity is hier steeds meer aandacht voor. We gaan daar meer werk van maken en spreken hierover onder meer met ministeries en organisaties als het CIP en de Secure Software Foundation.”
Een tweede aandachtspunt is certificering. Corbijn: “Certificering kan een toegevoegde waarde hebben, maar we maken ons zorgen over de versnippering op het gebied van normen, audits en keurmerken. Naast de ontwikkeling binnen de ISO en de NEN en de producten van auditorganisaties heb je in tal van branches weer verticale keurmerken. Dat maakt het er voor de leveranciers niet makkelijker op. En al die certificeringen kosten geld, terwijl het soms schijnzekerheden geeft.”

Toekomst

Kranenburg ziet weer een toenemende belangstelling voor software engineering en softwarekwaliteit. “Een aanpak als DevOps legt hierop ook de nadruk. De toegevoegde waarde van de ISO 25010-norm is dat er nu een gemeenschappelijk begrippenkader is dat iedereen heeft geaccepteerd. Op basis daarvan zijn en worden nu certificaties ontwikkeld.”
Aanpakken als scrum leiden volgens hem ook tot kwaliteitsverbetering: “Je ziet heel snel dat er iets niet klopt. Het betrekt enerzijds klanten bij het ontwikkelproces; anderzijds worden componenten direct in productie genomen. Het is wel zo dat in het cloudtijdperk de gevolgen van fouten direct enorm zijn. Daarom is kwaliteitsborging zo belangrijk.”
De Vries ziet dat opdrachtgevers toch primair op kosten sturen: “Klanten kijken vaak naar uurtarieven en niet naar de kwaliteit van personen die het uitvoeren. Men kijkt vaak op korte termijn. Daarmee blijft de kwaliteit onder druk staan.”

Richtlijn voor software-overdracht

Een aantal kwaliteitsaspecten van de ISO-norm 25010 heeft te maken met de overdraagbaarheid van software. Leen Blom van Centric is “als vrijwilliger” betrokken bij het opstellen van een Nederlandse praktijkrichtlijn NPR 5325: “Stel dat je als organisatie het beheer van de ontwikkelde software wilt overnemen of als bedrijf wilt offreren om het onderhoud van een systeem over te nemen. Dan moet je je een goed beeld kunnen vormen van de kwaliteit van de code. Dat het goed werkt is geen maatstaf. Onder de motorkap kan het een ramp zijn.”
“We hebben nu twaalf meetpunten gedefinieerd. Voor elk van die punten is het uiteindelijke doel certificering.” Maar eerst moeten ze nog meetbaar en ‘auditbaar’ worden. “Voor codekwaliteit zijn we wel al bijna op het niveau van certificering.” De eerste versie van de richtlijn wordt dit voorjaar verwacht.

  • Jos Schreur Rijkswaterstaat | 6 november 2015, 14:30

    Natuurlijk is het zo dat tuv sterren geen garantie zijn voor software die aan alle functionele eisen voldoet. Maar doordat de code gestructureerd is, is het veel sneller mogelijk om problemen op te sporen en is onderhoud goedkoper. In mijn beleving is dat de essentie van de norm. Tegenwoordig is het ook heel goed mogelijke tooling in te zetten om de ontwikkeling van systemen te volgen, daarmee kun je ook bij agile ontwikkeling permanent een vinger aan de pols houden.

Plaats een reactie

U moet ingelogd zijn om een reactie te kunnen plaatsen.
Registreren