Software Deltaplan is hoognodig -- De kern van het probleem is complexiteit

PDF Versie

Omvangrijke en complexe softwaresystemen
worden zelden of nooit foutloos ontwikkeld.
De kwaliteit van software zou vele malen
beter moeten, zeggen professoren Chris
Verhoef en Jan Friso Groote. Er moet dan wel
een Software Deltaplan komen, om een
toekomstige vloedgolf aan softwareproblemen
te keren.

Het is maar de vraag of de Maeslantkering,
het in 1997 opgeleverde kroonjuweel van de
Nederlandse Deltawerken, werkelijk sluit
wanneer gevaar dreigt (zie kader). Uit
internationale benchmarks zou namelijk
blijken dat dergelijke omvangrijke projecten
meer fouten in de software bevatten dan
gewenst is. Dat zeggen Verhoef, hoogleraar
aan de VU (Vrije Universiteit Amsterdam), en
Groote, hoogleraar aan de TUE (Technische
Universiteit Eindhoven). Dit voorbeeld, en
volgens de professoren nog vele andere
voorbeelden, tonen aan dat het tijd is voor
een nieuw Deltaplan. Deze keer niet om het
zeewater tegen te houden, maar om de
negatieve gevolgen van problematische it te
beperken door softwareontwikkeling tegen het
licht te houden.

Een Software Deltaplan, het klinkt nogal
zwaar. Is het werkelijk nodig, en van
levensbelang voor de samenleving? Groote
denkt van wel. "Onze samenleving heeft zich
bepaalde normen opgelegd inzake haar
functioneren.  Software voldoet niet aan die
norm, dus is een ingreep noodzakelijk. Net
als bij de watersnoodramp in 1953. We hadden
gemakkelijk kunnen zeggen dat de schade best
te dragen viel en we weer zouden overgaan
tot de orde van de dag. Dat deden we niet.
We zeiden tot hier en niet verder, en dat
mocht best wat kosten. Voor software zouden
we diezelfde beslissing moeten nemen.
Software is een primaire pijler onder onze
samenleving geworden. De energievoorziening,
het bankwezen, zelfs de waterkering, het
vervoer, de voedselvoorziening en amusement
is van software afhankelijk geworden. Ik
denk dat onze samenleving van de haar ten
dienste staande apparaten mag verwachten dat
zij betrouwbaar zijn en doen wat verwacht
wordt. Software heeft die eigenschap niet -
nog niet, in ieder geval. Het doet vaak wat
we verwachten, maar te vaak gaat er iets
mis. Software ontwikkelen die wel de
vereiste correctheid heeft is de enige
manier om hier verbetering in te brengen."

Wildwestsituatie

Is de lezer nog niet geheel overtuigd dat
verbetering nodig is op het gebied van
softwareontwikkeling? "Luister maar naar het
nieuws", zegt Verhoef. "Hoe vaak is de AEX
niet down? Dat gebeurt toch regelmatig.
Benchmarks geven aan dat het de directe
kosten al gauw 6,45 miljoen dollar per uur
bedragen wanneer zo'n operatie uit de lucht
is. Er zijn tal van andere voorbeelden
waaruit blijkt dat niet werkende software
tot allerlei vormen van schade leidt. Veel
van die schade is onzichtbaar omdat we het
niet direct in rekening brengen.
Treinreizigers bijvoorbeeld die door
softwarefouten te laat op hun werk komen,
zullen als individu de NS niet snel
aanklagen."

Een belangrijke oorzaak is volgens Verhoef
gebrek aan professionaliteit.  Dat probleem
veranderen we niet zolang mensen zonder
enige kennis van zaken toch aan it kunnen
werken. Verhoef: "Werken aan it is geen
beschermd beroep. Dat is een groot probleem.
Als je naar een huisarts gaat, weet je dat
deze gecertificeerd en gelicentieerd is. Je
weet dat je een advies krijgt dat op
wetenschappelijke leest geschoeid is. Dan
worden nog steeds fouten gemaakt, maar er
zijn wel bepaalde minimale eisen aan zo'n
persoon gesteld, waardoor je een
minimumkwaliteitsniveau kunt garanderen. In
de informatietechnologie is dat
minimumkwaliteitsniveau er niet. Om de
vergelijking met de medische wetenschap door
te trekken: we hebben te maken met het
kwakzalvereffect zoals dat vroeger onder
doktoren bestond, waarbij mensen van de
buitenkant niet kunnen zien wie goed en wie
slecht is, en ze dus kiezen voor degene die
het goedkoopst is. We leven op dit moment
gewoon in een wildwestsituatie, waarbij
iedereen maar software kan ontwikkelen en
implementeren. Werken aan bedrijfskritische
software zou een gelicentieerde en
gecontroleerde professie moeten worden."

Onderzoekbudget

Verhoef en Groote beseffen dat je
softwarefouten nooit helemaal kunt
voorkomen, maar ze zijn ervan overtuigd dat
beperking mogelijk is. Een stap is de
professionaliseringsslag via certificering
en licentiering van it-professionals. "Het
onderwijs op universiteiten, hogescholen en
managementscholen moet echter ook verbeterd
worden", zegt Verhoef. "Op dit moment worden
nauwelijks praktijkmensen met de juiste
vaardigheden afgeleverd, bijvoorbeeld mensen
die op de juiste manier complexe
it-projecten kunnen managen en mensen die
risico's kunnen beheren. Daarnaast is
fundamenteel onderzoek nodig dat te maken
heeft met de complexiteit van software, met
het effectief ontwikkelen, beheren en
veranderen ervan. Als we hier niet iets aan
doen, wordt de Nederlandse it-industrie
uiteindelijk zwakker. Dat zal economisch
serieuze consequenties hebben."

Een ander punt in een op te stellen Software
Deltaplan is dat meer geld beschikbaar moet
komen voor onderzoek. Voor natuurkundig
onderzoek bijvoorbeeld wordt nog altijd meer
geld gereserveerd dan voor
informaticaonderzoek. Groote: "Meer geld is
een understatement. De stichting Nederlandse
organisatie voor Wetenschappelijk Onderzoek
trekt voor informatica per jaar ongeveer
tien miljoen euro uit, terwijl ze aan
natuurkunde jaarlijks honderd miljoen
uitgeeft. Voor 2006 heeft NWO door
geldgebrek de normale subsidieronde voor
informatica zelfs geschrapt, terwijl die van
natuurkunde gewoon doorgaat. Als informatica
nou relatief nauwelijks van belang was in
Nederland, was dit gerechtvaardigd. Het
belang van informatica tegenover natuurkunde
zou echter een acute omkering van de
middelen onmiddellijk rechtvaardigen."

"Recentelijk sprak ik een studiegenoot, nu
onderzoeker in de natuurkunde.  Hij zegt dat
veel van het onderzoek binnen dat vakgebied
volstrekt overbodig is. 'We kunnen niet
publiekelijk beweren dat we het geld niet
nodig hebben. Er staan veel mensen op de
loonlijst, en wat weg is krijgen we nooit
meer terug. We kunnen dus niet anders dan
zeggen dan hoe belangrijk die natuurkunde
is', vatte hij het natuurkundige dilemma
treffend samen."

Calimero-denken

Softwareontwikkeling is grensoverschrijdend.
Is een fundamentele facelift voor de
software-industrie een taak die in Nederland
ligt? Moet zo'n Software Deltaplan niet op
Europees niveau worden uitgewerkt? "Dat is
onzin", zegt Verhoef. "We hebben in
Nederland ontzettend veel te maken met
software. We stonden in 1998 al op de vierde
plaats in Europa als het gaat om
it-uitgaven. Het is een beetje het
Calimero-denken, dat Nederland te klein zou
zijn om hierover na te denken. In Nederland
zijn we gauw geneigd om te wachten tot de
wereld om ons heen iets doet, maar in
it-uitgaven zijn we echt groot. We moeten
zelf dus actie ondernemen en investeren in
de ontwikkeling en verdere
professionalisering van
informatietechnologie."

De omringende landen zien overigens wel de
noodzaak in van kennisopbouw rond
softwareontwikkeling en professionalisering
van het vak. Ierland heeft bijvoorbeeld het
onderzoeksinstituut LERO (Irish Software
Research Centre) opgezet. In die instelling
zijn miljoenen euro's gepompt---volgens
Verhoef vijftig- tot honderdmiljoen. LERO
houdt zich puur bezig met
softwareontwikkeling. In Duitsland is het
initiatief genomen tot IESE (Instituut voor
Experimentele Software Engineering), dat op
een experimentele manier software analyseert
en ontwikkelt. Australie heeft NICTA
(National ICT Australia), een
onderzoeksinstituut waar miljoenen
Australische dollars in zijn gestopt. In de
Verenigde Staten werken een paar honderd
mensen bij het SEI (Software Engineering
Institute) op een innovatieve manier aan de
fundamenten van software-engineering. Bij
het SEI is bijvoorbeeld het CMM (Capability
Maturity Model) uitgedacht, een model
waarmee organisaties het proces van
softwareontwikkeling binnen de organisatie
beter in de hand kunnen houden.

Wat heeft Nederland? Verhoef: "Als het gaat
om dat soort instituten, die zich specifiek
richten op softwareonderzoek en engineering,
is er in Nederland niets. Er wordt wel
mondjesmaat hier en daar wat geinvesteerd in
softwareonderzoek, maar dat zet geen zoden
aan de dijk. Ierland heeft zich als doel
gesteld dat het binnen vijf jaar ongeveer
vijftig gepromoveerde mensen die verstand
hebben van software-engineering aflevert.
Als we een kenniseconomie willen blijven,
zal Nederland ook in dat soort projecten
moeten investeren---zeker omdat algemeen
bekend is dat informatietechnologie vrijwel
altijd aan de basis staat van de
ontwikkeling van een kenniseconomie."

Politieke actie

Softwareontwikkeling gaat volgens Groote
vooral daar mis waar omgevingen ingewikkeld
en omvangrijk zijn. "De kern van het
probleem is eigenlijk complexiteit. De
meeste mensen hebben de neiging om de
werking van een programma te begrijpen in
termen van een run. Daar is zelfs een
officiele term voor, een 'use case'. Een
programma gaat echter niet over een of
enkele runs.  Het gaat over het verwerken
van alle mogelijke invoer die ooit
aangeboden kan worden. Het is gemakkelijk om
je een voorstelling te maken van een reisje
Utrecht-Amsterdam. Het is de taak van een
programmeur zich voor te stellen wat op
iedere mogelijke reis kan gebeuren en code
te schrijven om alle gebeurtenissen goed af
te vangen. Om het in termen van de
Maeslantkering te houden: hij moet er ook
nog een bewijs bij leveren dat slechts eens
in de tienduizend jaar een reisje
Utrecht-Amsterdam in het honderd kan lopen."

Een Software Deltaplan is volgens de
professoren het antwoord. Net als bij de
Deltawerken ligt de uitdaging vooral in het
doen. Een belangrijk aspect, meent Groote,
is dat teams in staat zullen zijn om bewezen
correct geprogrammeerde systemen op te
leveren. Dat moet zo gedaan zijn dat het
verifieerbaar is, dat een ander team kan
vaststellen dat het klopt. Groote:  "Zet een
team op de software in de Maeslantkering en
geef dat de verplichting om van alle
software te laten zien dat die altijd
conform verwachting werkt. Het kan ook
bescheidener, bijvoorbeeld door te kijken
hoe het zit met de software in stemmachines,
het nieuwe paspoort, de nieuwe ov-kaart, de
stadsbussen in Eindhoven die zo nu en dan op
hol slaan of de onbemande parkshuttles van
Connexxion die op elkaar botsen."

Wat is de kans dat een forse investering in
zo'n onderzoeksproject resultaat oplevert?
"Welke garantie hadden de Amerikanen toen ze
gingen investeren in de atoombom of een reis
naar de maan", zegt Groote. "We spreken hier
over technologie die we graag willen hebben
en waarvan we denken dat het mogelijk is. Ik
weet wel dat in Nederland de politiek zich
nauwelijks met onderzoek bemoeit, maar Den
Haag zou op het hoogste niveau actie moeten
ondernemen. Daar ligt de
verantwoordelijkheid voor invoering en
opvolging van een Software Deltaplan." 

[streamers]

'Er worden nauwelijks praktijkmensen met de
juiste vaardigheden afgeleverd'

'In Nederland zijn we gauw geneigd om te
wachten tot de wereld om ons heen iets doet'

'Informatietechnologie staat vrijwel altijd
aan de basis van een kenniseconomie'

[kader]

Maeslantkering

De in 1997 opgeleverde Maeslantkering, het
pronkstuk van de Deltawerken, bevat 450
duizend regels code in C++. Uit
internationale benchmarks blijkt dat
software van dergelijke omvang in het beste
geval wordt opgeleverd met tientallen
ernstige programmeerfouten. Vooralsnog is
het de vraag of dat bij de Maeslantkering
anders is. Op die vraag is wel een antwoord
nodig, omdat de kering 1,3 miljoen mensen
moet beschermen tegen hoogwater. Bij de
Maeslantkering bedroeg de investering in
software minder dan 1 procent van de
aanneemsom. Dat lijkt te weinig om software
met ongekend lage faalkansen op te leveren.
Volgens it-professoren Verhoef en Groote is
dit illustratief voor de beperkte rol die
softwareontwikkeling tot nu toe speelt
binnen de Nederlandse wetenschappelijke en
technologische cultuur.

Professor dr. Verhoef

Sinds 2000 is Chris Verhoef hoogleraar
Informatiesystemen aan de Vrije Universiteit
in Amsterdam. Voor meer informatie,
bijvoorbeeld over zijn publicaties, zie:
www.cs.vu.nl/~x/. Hij houdt zich onder
andere bezig met it-portfoliomanagement om
goed bestuur van it te operationaliseren.

Professor dr. ir. Groote

Sinds 1998 is Jan Friso Groote hoogleraar
Embedded Systems aan de Technische
Universiteit Eindhoven. Voor meer
informatie, onder andere over zijn
publicaties, zie: www.win.tue.nl/~jfg. Hij
houdt zich onder meer bezig met de
ontwikkeling en analyse van systemen via oas
(ontwerp en analyse van systemen,
www.win.tue.nl/oas).

Koen Stegeman

Meer weten over de wondere wereld van ICT 
in Jip en Janneke taal? Ga dan naar de
knipselkrant van Chris Verhoef