Een kwart van de grote softwareprojecten wordt afgelast, een gemiddeld project duurt de helft langer dan gepland en driekwart van alle grote systemen blijkt in de dagelijkse praktijk nachtmerries op te leveren. Foutloze software als concept voor de toekomst.
Foutloze software bestaat niet en zeker niet in grotere en complexe omgevingen. Waar gewerkt wordt, worden fouten gemaakt en het aantal fouten dat in grote systemen kan sluipen, lijkt wel eindeloos. Achteraf testen kan veel problemen oplossen, maar leidt slechts tot foutarme software. Een beetje project zou jaren tot tientallen jaren getest moeten worden om de meeste fouten te elimineren.
Geen werkbare situatie dus, zo stelt professor Ed Brinksma van de Universiteit Twente in een privé-college bij CMG. Brinksma is werkzaam bij het Centrum voor Telematica en Informatietechnologie te Enschede. Hij verricht onderzoek naar mogelijkheden om "het ambacht van softwarebouwer te professionaliseren".
Om het belang van foutarme software aan te geven, haalt Brinksma een aantal fiasco’s uit het (recente) verleden op. Zo was het verongelukken van de Ariane 5 te wijten aan fouten in de navigatieprogrammatuur, die niet opgemerkt werden door de onvolledige testprocedures. De raket ontplofte 37 seconden na de lancering. Het onderzoeksprogramma kostte tot op die datum 7 miljard dollar, de directe schade door de softwarefout beliep zo’n 2,5 miljard.
Software-wrakken
Andere "software-wrakken", zoals Brinksma ze noemt, zijn ondermeer het bagage-verwerkingssysteem van de nieuwe luchthaven te Denver (Colorado). Fouten in de te complexe systemen leidden tot een vertraging van ruim een jaar, waardoor het overigens gerede vliegveld een jaar omzetderving à 1,1 miljoen dollar per dag moest accepteren.
Ook de automatisering van de Londense effectenbeurs liep op een fiasco uit, evenals het walradar-project van de haven van Rotterdam. Uit eigen koker kunnen we hieraan het recent afgelaste project bij de Amsterdamse optiebeurs toevoegen.
Een belangrijke oorzaak voor het falen van deze projecten is dat ze te ambitieus waren. De systemen werden te complex en te omvangrijk, waardoor het overzicht verloren ging en cruciale fouten gemaakt werden. Een onderzoek van de IBM Consulting Group onder 24 grote ontwikkelaars bracht aan het licht dat meer dan de helft van de projecten duurder uitviel dan verwacht, dat 68 procent langer duurde dan gepland en dat maar liefst 88 procent van de grote gedistribueerde systemen nog tijdens de bouw grondig herzien wordt.
Creatief ambacht
Brinksma wijt deze magere resultaten aan het gebrek aan professionaliteit in de IT-branche. "Het bouwen van software is nog steeds een creatief ambacht. Er bestaan nog onvoldoende wetenschappelijke grondslagen om te komen tot een voorspelbaar en beheersbaar produktieproces. De software-branche bevindt zich nog in de pre-industriële fase, waarin ieder produkt volgens de specificaties van de individuele klant wordt opgeleverd."
Deze uitspraken van de professor worden ondersteund door een onderzoek van het Software Engineering Institute, de opsteller van het ‘capability maturity model’ (cmm), dat aangeeft in welke fase van professionaliteit een IT-organisatie zich bevindt. Slechts twee van de onderzochte 261 organisaties kwalificeerden zich voor niveau vijf, het hoogst haalbare. Maar liefst driekwart bevindt zich nog op het eerste niveau, terwijl de rest zich vrijwel geheel op niveau twee of drie begeeft!
Om professioneler te werken, moet aan een aantal randvoorwaarden voldaan worden. "Nodig zijn een wetenschappelijke theorie, mathematische modellen, bewezen ontwerpoplossingen en rigoureuze kwaliteitscontrole." De software-branche kenmerkt zich door een gebrek aan vrijwel al deze factoren.
"We beschikken niet over een standaard professionele opleiding, er bestaan geen standaard produktieprocessen, hetgeen zich uit in slecht voorspelbare resultaten en kwaliteit. De branche is afhankelijk van een beperkt aantal begaafde ‘ambachtslieden’", aldus Brinksma.
Professioneel werken loont
Hij pleit dan ook voor verdere professionalisering, temeer omdat investeringen op dit gebied behoorlijk lonend kunnen zijn. Een voorbeeld: Oorlogsfabrikant Raytheon investeerde een miljoen dollar per jaar in verhoging van het niveau op de cmm-schaal en de training van vierhonderd programmeurs. De resultaten: een sprong van twee cmm-niveaus in drie jaar, een verhoging van de produktiviteit met een factor twee en een rendement van bijna 8 dollar op iedere geïnvesteerde dollar. Bovendien zijn de meeste projecten voortaan voor tijd en binnen de begroting gereed.
Volgens Brinksma speelt het gebruik en de ontwikkeling van formele methoden een belangrijke rol in de professionalisering van het vakgebied. Hij hoopt via samenwerkingen tussen universiteiten en de industrie te komen tot het ontwikkelen van praktisch inzetbare theorieën, modellen, notaties en hulpmiddelen. Dat het hieraan in de praktijk schort moge duidelijk zijn uit de ter illustratie aangehaalde ‘software-wrakken’.