Development

Software-ontwikkeling

Sjoemelsoftware

22 januari 2016

Volgens mij worden er nog steeds sjoemelende Volkswagen diesels verkocht. Als Volkswagen al in de problemen gekomen is, dan is dat omdat ze claims krijgen, niet omdat er geen auto’s meer verkocht worden. Zo erg vinden we het blijkbaar niet. Eerder grappig. We wisten blijkbaar allang dat er iets niet klopte – en waarschijnlijk ook niet klopt bij al die andere merken.

Het is eigenlijk wel een beetje raar dat wij – van de software – de schuld krijgen van een probleem met de uitstoot van zoiets mechanisch als een auto. Het is natuurlijk wel de software die het sjoemelen doet, maar alleen maar om de gebreken van die mechanische motor te verbloemen – het probleem dat die motor niet én krachtig én schoon kan zijn. Het echte probleem zit in die motor, niet in de software. Die motor moet aan natuurwetten voldoen. Met software kun je het laten lijken alsof die even niet opgaan, maar dat is inderdaad sjoemelen. Toch kunnen wij IT’ers veel leren van wat er bij Volkswagen gebeurde.

Auto’s zijn in de afgelopen honderdvijftig jaar flink verbeterd. De eerste auto haalde 16 kilometer per uur. Vijftig jaar later werd er al met meer dan 100 km/u geracet. En weer een paar decennia later werd bij de Formule 1 al 300 km/u gehaald. Auto’s zijn steeds betrouwbaarder geworden, veiliger, zuiniger en zeker ook schoner. Waar mijn vader tijdens lange vakantieritten een paar keer het oliepeil controleerde, daar kan ik er toch echt van uitgaan dat mijn auto zonder enig bezwaar dagen achter elkaar door blijft rijden. Je zou kunnen denken dat de auto uitontwikkeld is, dat er een auto zou bestaan die én raceauto én gezinsauto én terreinwagen én bestelbus én limousine is. Dat die auto ook nog eens zuinig, schoon, stil, veilig, betrouwbaar en goedkoop is. Nee, natuurlijk niet. Soms komt iemand met een nieuwe technologie die een nieuwe combinatie van kwaliteiten mogelijk maakt. Tesla deed dat, maar daar werd de auto niet bepaald goedkoper van.

Computers bestaan nog maar een paar decennia. Ook wij zijn in die jaren heel ver gekomen. We kwamen van ponskaarten via floppydisks naar razendsnelle SSD’s. Van ARPANET, modems en Bulletin Boards naar mobiel internet in elke broekzak. Van Zork, via Doom naar miljoenen online gamers in eindeloze werelden als WoW en LoL. Van de eerste Palm Pilot naar de nieuwste iPhone. Je zou bijna denken dat ondertussen echt álles kan! Dat is dan ook direct de grootste valkuil. Je zou bijna denken dat alle software ondertussen én veilig én flexibel én goedkoop én goed onderhoudbaar én robuust én performant én bugvrij is. Nee, natuurlijk niet! Je zult keuzes moeten maken.

Geen keuzes maken is volgens mij de belangrijkste reden waarom al die grote projecten mis gaan. Men gaat ervan uit dat het kiezen voor ‘de modernste architectuur’ (u weet wel, cloud, Big Data en services en zo) betekent dat alles ineens mogelijk is. We moeten beseffen dat systemen bouwen een kwestie van optimalisatie is. Wanneer je een ook maar enigszins relevant systeem bouwt, dan moet je keuzes maken. Kiezen voor de ene kwaliteit gaat ten koste van andere kwaliteiten. Heel soms verzint iemand een truc of een nieuwe technologie die ervoor zorgt dat je kwaliteiten kunt combineren die elkaar anders zouden uitsluiten. Goedkoper wordt het er meestal niet van.

Daar zou het BIT (Bureau ICT Toetsing) eigenlijk vooral op moeten letten. Voor elk project dat getoetst wordt moet duidelijk zijn welke keuzes gemaakt worden – en vooral waar niet voor gekozen wordt. Elk project dat géén keuzes maakt, maakt feitelijk sjoemelsoftware. Software die probeert de natuurwetten van de IT te verbloemen.

 
Lees het hele artikel
Je kunt dit artikel lezen nadat je bent ingelogd. Ben je nieuw bij AG Connect, registreer je dan gratis!

Registreren

  • Direct toegang tot AGConnect.nl
  • Dagelijks een AGConnect nieuwsbrief
  • 30 dagen onbeperkte toegang tot AGConnect.nl

Ben je abonnee, maar heb je nog geen account? Laat de klantenservice je terugbellen!