Tags
Waarom IT-projecten altijd maar mislukken (Laurens Verhagen, Techsoftware/Volkskrant Magazine, 10-11-18)
Al vijftig jaar geleden werd gesproken van een ‘softwarecrisis’. En nog steeds lopen grote IT-projecten erg vaak erg mis. Dat komt pas goed als we eindelijk gaan begrijpen hoe complex software is, zeggen twee hoogleraren informatica.
‘Een typerend bericht van dit voorjaar: de Raad van de Rechtspraak trapt op de rem en roept op tot een ‘reset’ van de ambitieuze digitaliseringsplannen voor juridische procedures in Nederland. Het project werd oorspronkelijk op zestig miljoen euro geraamd, maar liep daarna uit naar 220 miljoen. De raad noemt verschillende oorzaken, waaronder de te grote complexiteit. Het is maar één voorbeeld. ICT-projecten bij de overheid kosten gemiddeld 36 procent meer dan begroot, concludeerde het Financiële Dagblad onlangs na analyse van 125 recente grote ICT-projecten van de overheid. Een ander voorbeeld, van eerder deze maand: een hardnekkige ICT-storing houdt de poli’s van het VUmc urenlang dicht. Een paar weken eerder: Amsterdam CS ligt plat door een softwarestoring.
Navo
‘Informaticahoogleraren Jan Friso Groote (TU Eindhoven) en Marieke Huisman (Universiteit Twente) verbazen zich er niet meer over. Niet alleen bij de overheid, ook in het bedrijfsleven gaat het nog altijd mis, zien ze bijna dagelijks. Ook hier pakken veel projecten duurder uit dan begroot en worden bedrijven op kosten gejaagd omdat software niet voldoet, lekken bevat of domweg gevaarlijk is. Een softwareprobleem in een auto kan de fabrikant ervan op gigantische kosten jagen.
‘En toch is er wel degelijk wat aan te doen, zeggen Groote en Huisman. Geheel foutloze software is waarschijnlijk een utopie, maar zo erg als het nu nog altijd is, hoeft ook weer niet. In oktober 1968 viel de term ‘softwarecrisis’ voor het eerst op een door de Navo georganiseerde conferentie. Omdat machines in die tijd krachtiger begonnen te worden, werd slechte software ineens een probleem. Volgens de vermaarde Nederlandse informaticus Edsger Dijkstra manifesteerde de crisis zich in de lage kwaliteit van software, uit budget lopende projecten of zelfs software die nooit werd geleverd. Toen al.
‘Volgens Huisman is de crisis nu groter dan ooit. ‘Wat niet wil zeggen dat er niets is verbeterd. Als er niets was gedaan, was het nog veel erger geweest.’ Deel van het probleem is volgens haar dat software tegenwoordig op veel meer plekken zit. ‘In auto’s, vliegtuigen, banken: overal speelt software een essentiële rol. Iets wat mensen vaak niet beseffen. Dat komt deels omdat software zo ongrijpbaar is. Je kan het niet vasthouden, zoals je bij apparaten kan doen. En bedrijven zien het belang er vaak niet van in en beschouwen software als sluitpost op de begroting. Software wordt weliswaar steeds beter, maar we hebben nog lang niet het punt bereikt dat de kwaliteit zich kan meten aan die van andere producten die we maken.’
Ziekelijk complex
‘Volgens Groote worden de problemen vergroot omdat computers niet alleen steeds krachtiger en sneller worden, maar – in tegenstelling tot decennia terug – ook nog eens met elkaar zijn verbonden via internet. Maar uiteindelijk is de crux: mensen snappen niet dat software complex is.
‘Groote: ‘Ik ben daar in de loop der jaren wat cynisch over geworden. Bijna nergens, zelfs niet binnen de informatica, wordt begrepen hoe ziekelijk complex software is.’ Een gemiddeld softwarepakket bevat honderden miljoenen regels code. En een even gemiddeld pakket bevat volgens Groote tientallen fouten per duizend regels code. ‘Iedereen blijft maar meer code schrijven en managers pompen er duizenden manjaren in en denken dat dat vooruitgang is. Maar dat is niet zo. Omdat ze het niet begrijpen. Men wil nieuwe dingen uitbrengen, nieuwe softwarepakketten de wereld in slingeren, nieuwe spullen. Zonder te snappen dat het uit de hand loopt. Zelfs bedrijven als Intel en Microsoft verslikken zich in de complexiteit van hun eigen software.’
‘Er speelt nog wat anders mee, zegt Huisman: ‘Er zit vaak heel veel tijd in een systeem. Als er een probleem optreedt, maak je daar een patch voor waarmee de complexiteit weer verder wordt vergroot. Het vergt heel veel moed om te zeggen: weet je wat? We beginnen helemaal opnieuw.’
‘Groote trekt graag de vergelijking met bruggen. ‘Iedereen vindt het volkomen logisch dat je niet zomaar zonder plan en zonder deugdelijke doorrekening een brug gaat bouwen. Maar bij software gebeurt precies dat. We vragen de buurjongen of hij ons administratiesysteem kan bouwen. Het is een fundamentele onderschatting van de complexiteit van software.’
‘Het probleem is hardnekkig. Ook omdat de voordelen van software evident zijn. We kunnen niet meer zonder. ‘Iedereen ziet graag die voordelen’, zegt Groote. ‘Wél ermee spelen, niet erover nadenken.’
Grote ramp
‘Zowel Groote als Huisman geloven niet in panklare oplossingen. Ook niet in regulering van de overheid trouwens. Zou een ramp iedereen wakkerschudden? ‘Nee’, zegt Groote. ‘Een station dat platligt. Miljoenen belastingaangiften die zoek zijn: hoe erg wil je het hebben? Het wordt weer opgelost en iedereen gaat over tot de orde van de dag.’ Groote is de loop der jaren wat somber geworden: ‘Ik heb lang gedacht: we gaan dit oplossen. Nu weet ik dat niet meer. We doen op de universiteiten wat we moeten doen, maken kleine stapjes en roeien met de riemen die we hebben. Maar op de een of andere manier lijkt de maatschappij het maar niet te willen zien.’
‘Huisman: ‘Zo pessimistisch ben ik niet hoor. Misschien omdat ik ook tien jaar jonger ben. Maar eenvoudig is het ook weer niet: het is een langdurig proces. Softwareonderzoek is binnen wetenschap een ondergeschoven kindje. Iedereen heeft het over AI, robotica en big data. Softwarekwaliteit is minder fancy vrees ik. Het begint van onderaf, bij docenten die hun studenten de fundamenten van software bijbrengen.’ Dan zal het langzaam ten goede veranderen, hoopt Huisman. En komt het misschien toch nog goed. Want: ‘De toekomst is oneindig’, besluit Groote.
En wat de constructie van het Europese Huis, genaamd de EU zo moeizaam en complex heeft gemaakt, daarvan ligt de oorzaak eveneens in de ziekelijke complexe structuur van de EU en haar voorgangers EEG/EG. De ouderen onder ons herinneren zich nog dat economen ons waarschuwden – ik meen tijdens de invoering van de euro als munt en daarmee ook een nieuwe monetaire eenheid – dat zonder een politieke unie tot mislukken gedoemd was omdat het gebruikelijke nationale aanpassingsmechanisme in de vorm van valutadaling of opwaardering werd afgeschaft en niet meer per lidstaat gebruikt kon worden, en dat in combinatie met een ongelijke economische stelsels van de lidstaten die toegelaten werden tot de eurozone, een heilloze onderneming was. Volgens de oude economische theorie was dat ook ondoenlijk, maar de praktijk heeft sinds de financiële (2008) en schuldencrisis (2009) die uitliep op de eurocrisis (2012) uitgewezen dat de EU nog steeds bestaat.
En dus bestaansrecht heeft, al was er een Draghi nodig die het lef en de moed had en toonde dat hij in strikte onafhankelijkheid (van de Europese Raad van regeringsleiders én Commissie) de tent overeind heeft gehouden, zodat de sceptici ongelijk hebben gekregen. Maar wel ten koste van heel wat hoofdbrekens en een doorlopende mega-injecties via opkoopregelingen (monetaire financiering) die de economie overeind hebben gehouden. Kortom, even complex als de ‘ziekelijke complexiteit’ van de IT-wereld, die zo complex is dat letterlijk niemand volgens een hooggeleerde in dat artikel aangehaald, er precies de vingers op heeft gekregen en begrijpt hoe dat mogelijk is.
Dat zelfde geldt precies zo voor de EU en het zijn dus beide voorbeelden met als gemeenschappelijke noemer zonder historische precedenten, die het zo moeilijk, complex, onvoorspelbaar, grillig en weerbarstig maken, maar dat is het kenmerk van de 21e eeuw. Daarmee moeten we leren leven. Maar toen ik boven geciteerd artikel herlas, was voor mij de brug naar de EU op slag helder en mijn optimisme ook, omdat we in een uniek tijdperk leven waarin simpelweg niets meer te voorspellen is. En dat maakt het erg boeiend en interessant want onze beschaving hebben we nu volstrekt uniek gemaakt met onze creativiteit en scheppingsmacht!
Zo geredeneerd kan hier ook een/de oorzaak liggen in/van het conflict of spanningshaard tussen oude economische theorie en nieuwe economische ontwikkelingen, waarmee de oude theorie geen raad weet. Daarmee zou de oplossing óók voor de hand liggen: probeer ieder eurozone land een eigen innovatieve economische karakteristiek te geven of te laten ontwikkelen (zoals NL op alle fronten digitaal het meest gevorderde land is, met vooral agrarische export. Op die manier kan er gezamenlijk een erg gevarieerd exportproduct kan worden ontwikkeld, zodat de eurozones niet met elkaar gaan concurreren en alle bbp’s op niveau blijven en zelfs spontaan gaan groeien. En dan houdt de werkloosheid in zuidelijke lidstaten automatisch op.