Dat geldt zeker binnen de publieke sector. Daar bevatten kernsystemen vaak tientallen jaren aan wetgeving, beleidswijzigingen en zeer specifieke businessregels. Het systeem dat wij moderniseerden, bepaalt socialezekerheidsbijdragen. Die hebben rechtstreeks invloed op de rechten van burgers, waaronder hun uiteindelijke pensioen.
Applicatiemodernisering is in zo'n omgeving dan ook veel meer dan een technologisch vraagstuk. Het draait net zo goed om risicobeheersing, verantwoordelijkheid en vertrouwen. Een van de lastigste onderdelen van het systeem was een sterk gespecialiseerde, maar verouderde rule engine. Daarin zat tientallen jaren aan opgebouwde businesskennis verscholen.
De uitdaging: hoe moderniseer je zo'n systeem zonder de controle over de juistheid ervan te verliezen?
Wat de sociale zekerheid bijzonder complex maakt, is de hoeveelheid wetgeving die zich in de loop der jaren heeft opgestapeld.
Wanneer iemand met pensioen gaat, moet het systeem mogelijk bijdragen van meer dan 45 jaar geleden opnieuw berekenen. Daarbij geldt niet de wetgeving van vandaag, maar de wetgeving die destijds van kracht was. Elke periode kent zijn eigen wettelijke kaders, grenswaarden en uitzonderingen. Als je ook maar één uitzonderingssituatie mist, kan de uitkomst onjuist zijn.
Op het eerste gezicht lijkt de meest logische aanpak eenvoudig: vervang de verouderde rule engine en ga verder. Toch kozen we bewust niet voor die route. De reden was helder: we wilden het gedrag van het nieuwe systeem kunnen begrijpen én verifiëren. De technologie was verouderd, maar de werkelijke uitdaging zat in de kennis die erin verborgen lag.
Dat raakt ook aan governance en compliance. In sterk gereguleerde omgevingen vraagt verantwoordelijkheid erom dat het gedrag van systemen kan worden uitgelegd, gecontroleerd en onderbouwd. Dat sluit bovendien aan bij de groeiende eisen rond transparantie van AI en menselijke controle.
We begonnen daarom met een eenvoudige vraag:
Welk bewijs hebben we nodig om erop te vertrouwen dat dit systeem op realistische schaal correct omgaat met tientallen jaren aan veranderende wetgeving?
Samen met testers en inhoudelijke experts bepaalden we een heldere go/no-go-aanpak. Die draaide om een beperkt aantal uitgangspunten:
Alleen wanneer aan al deze voorwaarden werd voldaan, kon de modernisering verder.
AI speelde een belangrijke rol in dit proces, maar altijd binnen kaders die door mensen werden bepaald.
AI hielp ons patronen te herkennen in tientallen jaren aan businesslogica, vast te stellen welke jaren juridisch relevant waren, implementatiewerk binnen strikte randvoorwaarden te versnellen en grote hoeveelheden vergelijkingsresultaten te analyseren.
De verantwoordelijkheid bleef bij mensen. Zij bepaalden wat er moest worden vergeleken, welk gedrag acceptabel was en wanneer er voldoende bewijs was om verder te gaan.
Wanneer AI zich bijvoorbeeld te veel richtte op het optimaliseren van technische metrics in plaats van resultaten in de praktijk, voegden we extra guardrails toe. Die golden niet alleen voor de code en vaste businessregels, maar ook voor de tests. Zo konden onrealistische of onvolledige scenario's automatisch worden afgewezen.
Ons eerste doel was niet om het systeem beter onderhoudbaar te maken. Eerst wilden we vertrouwen opbouwen. We moesten kunnen aantonen dat het gedrag van het systeem te begrijpen, te valideren en betrouwbaar te reproduceren was. Pas toen dat vertrouwen er was, verschoof de aandacht naar onderhoudbaarheid.
Met het geverifieerde gedrag als referentie kon het developmentteam het systeem refactoren naar duidelijke en onderhoudbare code. Daarbij werd voortdurend gecontroleerd of het gedrag van het systeem ongewijzigd bleef.
De logica werd daarnaast vastgelegd in geautomatiseerde scenariotests die ook voor business- en domeinexperts leesbaar zijn. Daardoor kunnen zij scenario's rechtstreeks beoordelen en valideren.
Zo werd tientallen jaren aan opgebouwde logica expliciet, inzichtelijk en deelbaar. Tegelijkertijd ontstond een blijvend vangnet dat helpt om het systeem ook op langere termijn onderhoudbaar en toekomstbestendig te houden.
Tests onder een belasting die vergelijkbaar is met de productieomgeving laten zien dat het gemoderniseerde en onderhoudbare systeem zich gedraagt zoals de oorspronkelijke implementatie.
Daar komt een duidelijke performanceverbetering bij. De moderne Java-implementatie verwerkt een volledige batch van ongeveer 1,5 miljoen records onder vergelijkbare omstandigheden circa vier keer sneller dan het legacysysteem.
Minstens zo belangrijk is wat dit de organisatie op langere termijn oplevert:
Daarmee ontstaat een fundament voor duurzame doorontwikkeling, in plaats van een eenmalige moderniseringsslag.
Dit is geen verhaal over AI die mensen vervangt. Het laat juist zien hoe AI kan helpen om verborgen kennis zichtbaar te maken, terwijl verantwoordelijkheid en controle expliciet bij mensen blijven liggen.
In omgevingen met een hoog risicoprofiel zit de grootste uitdaging niet in sneller veranderen. Het gaat erom dat je voldoende begrijpt en verifieert om verantwoord te kúnnen veranderen.
Daar zit de werkelijke waarde van AI: als je de technologie gecontroleerd en doelgericht inzet.
Benieuwd hoe AI kan bijdragen aan het gecontroleerd moderniseren van complexe software? Ga in gesprek met een van onze AI-experts.