Kennisbank

Legacysoftware: waarom oude computersystemen zo hardnekkig blijven bestaan

Bijgewerkt: 16 augustus 2026 · 6 min leestijd

Stel je een ziekenhuis voor dat al dertig jaar dezelfde verwarmingsinstallatie gebruikt. De ketel is verouderd, onderdelen zijn nauwelijks nog te krijgen en niemand van het huidige technische personeel heeft hem ooit zien installeren. Toch durft niemand hem te vervangen, want als de verwarming uitvalt, staat het hele gebouw stil. Legacysoftware werkt precies zo: het zijn computerprogramma's die vaak decennia geleden zijn gebouwd, maar die nog altijd cruciale processen draaiende houden bij banken, overheden en bedrijven.

De term komt van het Engelse woord 'legacy', dat 'erfenis' betekent. Het gaat dus om software die is geërfd van een vorige generatie ontwikkelaars en beheerders. Zulke systemen zijn vaak technisch verouderd, moeilijk te onderhouden en soms zelfs een veiligheidsrisico, maar het vervangen ervan is duur, riskant en tijdrovend. Daarom blijven ze jarenlang, soms tientallen jaren, in gebruik terwijl de rest van de digitale wereld allang is doorontwikkeld.

Wat is het precies?

Legacysoftware is geen technische term met één vaste definitie, maar een verzamelnaam voor systemen die aan een aantal kenmerken voldoen. Ten eerste zijn ze vaak geschreven in oudere programmeertalen, zoals COBOL (Common Business-Oriented Language), een taal uit 1959 die nog altijd draait in veel financiële systemen. Ten tweede zijn ze meestal 'monolithisch' opgebouwd: alle functionaliteit zit in één groot, onderling verweven programma in plaats van in losse, onafhankelijke onderdelen zoals bij moderne software gebruikelijk is.

Een derde kenmerk is dat de originele documentatie vaak onvolledig is of is kwijtgeraakt, en dat de programmeurs die het systeem hebben gebouwd al met pensioen zijn of overleden. Wat er precies in de code gebeurt, is dan alleen nog te achterhalen door de code zelf te lezen, regel voor regel. Ten slotte draaien veel van deze systemen op verouderde hardware of besturingssystemen, zoals mainframes: grote, gespecialiseerde computers die oorspronkelijk in de jaren zestig en zeventig zijn ontwikkeld voor het verwerken van enorme hoeveelheden transacties, en die bij sommige banken en overheden nog altijd in gebruik zijn.

Belangrijk om te beseffen: legacysoftware is niet per se slechte software. Veel van deze systemen zijn juist extreem betrouwbaar gebleken, want ze draaien al tientallen jaren zonder grote storingen. Het probleem zit hem meer in de combinatie van veroudering, gebrek aan kennis en de moeite die het kost om wijzigingen door te voeren zonder dat er iets breekt.

Wat wil men ermee bereiken?

Organisaties met legacysoftware staan meestal voor een lastige keuze: het systeem laten draaien zoals het is, het geleidelijk vervangen, of het 'moderniseren'. Bij modernisering probeert men de bestaande functionaliteit te behouden, maar de onderliggende techniek te vernieuwen, bijvoorbeeld door de oude code te verplaatsen naar moderne servers ('cloud migratie') of door er een nieuwe, gebruiksvriendelijke schil omheen te bouwen zonder de kern aan te raken.

De belangrijkste drijfveren zijn kostenbesparing, veiligheid en wendbaarheid. Oude systemen zijn vaak duur in onderhoud, omdat er weinig specialisten meer zijn die de gebruikte technologie beheersen, waardoor hun uurtarief hoog ligt. Ook zijn verouderde systemen vaker kwetsbaar voor cyberaanvallen, omdat fabrikanten stoppen met het uitbrengen van beveiligingsupdates voor oude software. Daarnaast is het voor organisaties lastig om snel nieuwe digitale diensten te lanceren, zoals een mobiele app, als de onderliggende techniek daar nooit op is ontworpen.

Tegelijk is vervanging geen sinecure. Legacysoftware bevat vaak jarenlange bedrijfslogica: regels en uitzonderingen die in de loop der tijd zijn toegevoegd om specifieke situaties op te vangen, en die nergens anders zijn vastgelegd dan in de code zelf. Een verkeerd begrepen regel kan bij een bank leiden tot foutieve rentebedragen, of bij een overheidsinstantie tot onterecht geweigerde uitkeringen.

Voorbeelden uit de praktijk

Een van de bekendste momenten in de geschiedenis van legacysoftware is de millenniumbug, ook wel Y2K genoemd. In de jaren zestig tot negentig sloegen programmeurs jaartallen vaak op met slechts twee cijfers om opslagruimte te besparen, wat destijds schaars en duur was. Rond 1999 vreesde men dat systemen het jaar 2000 zouden interpreteren als 1900, met mogelijk grote gevolgen voor banken, luchtvaart en energievoorziening. Wereldwijd werden tientallen miljarden dollars uitgegeven aan het opsporen en herschrijven van kwetsbare code, en de overgang naar 2000 verliep uiteindelijk grotendeels probleemloos, mede dankzij die inspanning.

Een recenter voorbeeld speelde zich af in de Amerikaanse staat New Jersey, in 2020. Toen tijdens de coronapandemie het aantal aanvragen voor werkloosheidsuitkeringen explosief steeg, bleek het uitkeringssysteem nog te draaien op COBOL uit de jaren zeventig. Gouverneur Phil Murphy deed publiekelijk een oproep aan COBOL-programmeurs om te helpen, omdat het systeem de vraag niet aankon en er te weinig mensen waren die de taal nog beheersten.

In Nederland speelde verouderde IT een rol bij de Toeslagenaffaire, waarbij duizenden gezinnen tussen ongeveer 2013 en 2019 ten onrechte als fraudeur werden bestempeld door de Belastingdienst. Onderzoeken, onder meer van de Algemene Rekenkamer, wezen uit dat de complexe, verouderde en moeilijk aan te passen ICT-systemen van de Belastingdienst het lastig maakten om fouten tijdig te signaleren en te herstellen. Dit voorbeeld laat zien dat legacysoftware niet alleen een technisch probleem is, maar ook grote maatschappelijke gevolgen kan hebben.

Ook uitvoeringsorganisatie UWV werkt al jaren aan de modernisering van zijn verouderde ICT-landschap, dat deels teruggaat tot systemen uit de jaren tachtig en negentig. Verschillende Kamerbrieven en rapporten van de afgelopen jaren beschrijven de moeizame en kostbare weg naar vervanging van deze systemen, mede omdat UWV tegelijk de dagelijkse uitkeringen moet blijven verwerken.

In het bankwezen ten slotte draaien nog altijd grote delen van de kernsystemen van gevestigde banken wereldwijd op COBOL en mainframes, ondanks decennia van pogingen tot vernieuwing. Schattingen over de exacte omvang lopen uiteen en zijn moeilijk hard te verifiëren, maar zowel IBM als brancheorganisaties in de mainframe-industrie melden al jaren dat een aanzienlijk deel van het wereldwijde bankverkeer nog via dit soort systemen loopt.

Hoe ver is de techniek?

Er bestaat geen enkele 'silver bullet', geen simpele technische oplossing die legacysoftware in één klap oplost. De aanpak verschilt sterk per organisatie en per systeem. Sommige bedrijven kiezen voor een volledige herbouw, waarbij de oude functionaliteit helemaal opnieuw wordt geprogrammeerd in een moderne taal. Dat is grondig, maar ook duur en risicovol: projecten lopen vaak uit qua tijd en budget, en er is altijd het risico dat verborgen bedrijfslogica over het hoofd wordt gezien.

Een minder ingrijpende aanpak is 'wrapping': er wordt een moderne laag omheen gebouwd, bijvoorbeeld een programmeerinterface (API, een gestandaardiseerde manier waarop programma's met elkaar kunnen communiceren) waardoor nieuwe applicaties met het oude systeem kunnen praten zonder de kern aan te raken. Dit is sneller en goedkoper, maar lost het onderliggende probleem niet op.

Recent onderzoekt men ook of kunstmatige intelligentie kan helpen bij het vertalen van oude code naar moderne programmeertalen. IBM introduceerde in 2023 bijvoorbeeld watsonx Code Assistant for Z, een hulpmiddel dat met AI COBOL-code helpt te begrijpen en om te zetten naar Java. Dergelijke tools staan nog in een vroeg stadium: ze kunnen ontwikkelaars ondersteunen, maar automatische vertaling zonder menselijke controle wordt door experts nog niet als betrouwbaar genoeg beschouwd voor kritieke systemen.

Kortom: de techniek om legacysoftware te moderniseren bestaat, maar het is traag, arbeidsintensief werk waarbij mensenwerk en zorgvuldigheid vooralsnog niet te vervangen zijn door automatisering alleen.

Wie werken eraan?

IBM speelt een centrale rol, niet alleen omdat het bedrijf nog altijd mainframes en de bijbehorende software levert, maar ook omdat het actief tools ontwikkelt om klanten te helpen bij modernisering. Ook Micro Focus (onderdeel van OpenText) is een belangrijke partij, gespecialiseerd in COBOL-ontwikkelomgevingen en migratiesoftware.

Grote clouddiensten zoals Amazon Web Services, Microsoft Azure en Google Cloud bieden allemaal migratiediensten aan om legacysystemen naar hun platformen te verplaatsen. Adviesbureaus als Gartner en McKinsey publiceren regelmatig onderzoek en richtlijnen over de risico's en aanpak van modernisering, en worden veel geraadpleegd door bestuurders die met dit vraagstuk worstelen.

In Nederland zijn het vooral overheidsorganisaties als de Belastingdienst, UWV en de Dienst Uitvoering Onderwijs (DUO) die openlijk worstelen met verouderde ICT en daar meerjarige moderniseringsprogramma's voor hebben opgezet, mede onder toezicht van de Tweede Kamer en de Algemene Rekenkamer. Universiteiten en onderzoeksinstituten, waaronder groepen binnen de informatica-afdelingen van Nederlandse technische universiteiten, doen daarnaast fundamenteel onderzoek naar softwareonderhoud en -migratie als vakgebied binnen de software-engineering.

Verder lezen