Dienst · Software-ontwikkeling

Legacy software moderniseren met strategie en uitvoering.

Business-kritische applicaties die te oud zijn om makkelijk uit te breiden, maar te belangrijk om zomaar te vervangen. Wij begeleiden de hele migratie: van portfolio-analyse en 6R-classificatie tot strangler-fig uitrol en beheer-overdracht.

6R-strategieStrangler-figCloud-migratieKnowledge-transfer

Legacy is niet hetzelfde als technische schuld.

Technische schuld is incrementele rommel: hier en daar een refactor, een testdekking aanvullen, dependencies upgraden. Een legacy-modernisering is een orde groter. Het gaat om systemen waar de tech-stack zelf het probleem is — een Delphi-applicatie waarvan de oorspronkelijke ontwikkelaar al jaren weg is, een AS/400 met RPG-code die niemand meer aandurft, een Classic ASP-portaal dat niet meer met moderne single sign-on praat, of een Oracle Forms-omgeving die alleen op een specifieke versie van Java draait die zelf alweer end-of-life is.

De pijn is bekend: elke wijziging is duur, elke uitbreiding voelt riskant, en de mensen die het systeem nog echt kennen worden steeds schaarser. Tegelijkertijd zit er vaak jaren aan zorgvuldig opgebouwde business-logica in. Die mag niet verloren gaan bij een migratie, maar de stack waarop ’ie draait verdient een tweede leven elders.

Wij doen dit werk al sinds bedrijven hun eerste cloud-migratie planden. We zijn pragmatisch: niet elke legacy-app moet herbouwd worden, sommige moeten gewoon retired worden, andere kunnen prima nog jaren mee na een rehost. De kunst is om per applicatie de juiste keuze te maken, en de migratie zo te plannen dat de business er geen last van heeft. Voor incrementele opruim-werkzaamheden binnen één codebase verwijzen we u graag naar onze pagina over technische schuld oplossen; voor de hosting-kant raden we onze pagina platform-migratie laten uitvoeren aan.

Drie niveaus van legacy-modernisering.

De omvang van een traject hangt af van het aantal applicaties, de afhankelijkheden ertussen en de mate waarin u nog grip op de oorspronkelijke code heeft. We adviseren in het eerste gesprek welk niveau bij uw situatie past.

Single-app modernisering · vast sprintbudget

Eén kritieke applicatie aanpakken

Een specifieke applicatie die de organisatie remt — een desktop-Delphi-tool, een Classic ASP-portaal, een Access-database die exploded. We bouwen die opnieuw of replatformen ’m, met behoud van de business-logica die er in jaren in zit. Voor één app, met duidelijke afhankelijkheden in kaart.

Code-reviewTest-vangnetHerbouw of refactorBeheer-overdracht
Portfolio-aanpak · meerdere sprints

Portfolio-modernisering met 6R-roadmap

U heeft een verzameling oudere systemen — vaak ontstaan na een acquisitie of jarenlange organische groei. We inventariseren, classificeren elk systeem volgens de Gartner 6R’s (retire, retain, rehost, replatform, refactor, repurchase, rebuild, replace) en bouwen een roadmap met prio en sequencing. Daarna voeren we de eerste tranches zelf uit.

InventarisatieBAML-matrixMigratie-roadmapStrangler-fig
Multi-systeem programma · langer traject

Programma-modernisering met compliance-overlay

Voor organisaties met multi-systeem-legacy waar compliance op meekijkt: financieel met DORA, kritieke infra met NIS2, zorg met NEN 7510. We treden op als orchestrator over meerdere leveranciers, voeren zelf de complexe migraties uit, en zorgen dat audit-trail en evidence van dag één meegroeit met het programma.

Orchestrator-rolDORANIS2 / NEN 7510Multi-vendor

Wat een legacy-traject u oplevert.

Niet alleen nieuwe software. Ook de inzichten en het beheer-fundament om de modernisering daarna zelf voort te zetten.

  • Applicatie-inventaris met TCO en business-impactWelke systemen draaien er, wat kosten ze (licenties, hosting, beheer, ontwikkelaarsuren), en hoe kritiek zijn ze voor de business — uitgezet in een Gartner BAML-matrix.
  • 6R-classificatie per applicatieVoor elk systeem een onderbouwde keuze: retire, retain, rehost, replatform, refactor, repurchase, rebuild of replace.
  • Roadmap met sequencing en risk-reduction-eerstWelke migratie eerst (om risk weg te halen), welke kan wachten, en hoe afhankelijkheden de volgorde dwingen.
  • Gemoderniseerde applicaties zelfDe daadwerkelijke nieuwe of replatform-versies, productie-klaar, met staging en CI/CD. Hosted in cloud (AWS / Azure / GCP) of on-prem.
  • Test-vangnet vóór code-aanpassingenEnd-to-end tests op de oude implementatie, zodat we tijdens refactor of replatform niet stilletjes business-rules verliezen.
  • Knowledge-transfer en runbooksDocumentatie van de oude business-logica (vaak verborgen kennis), runbooks voor het nieuwe systeem en training voor uw beheer-team.
  • Beheer-contract (optioneel)Doorlopende monitoring, patching en doorontwikkeling, met vaste maandprijs. Of een volledige overdracht naar uw eigen team — uw keuze.

Wanneer legacy-modernisering de juiste keuze is.

Een aantal patronen die we vaak tegenkomen. Herkent u er één, dan is dit waarschijnlijk een gesprek waard.

Knowledge-loss

De oorspronkelijke ontwikkelaar is weg

Een mid-90s of vroeg-2000s systeem waar de bouwer al lang niet meer rondloopt. Er is geen documentatie, de code is verweven met conventies die niemand meer kent, en elke wijziging voelt als russisch roulette.

Stack-graveyard

Te veel verschillende technologieën

Bij ICT-vendors of na een serie acquisities: vijf, zes of zeven verschillende tech-stacks naast elkaar, elk met een paar ontwikkelaars die ’m kennen. Beheerlast wordt onhoudbaar, integraties zijn fragiel.

Compliance-druk

Nieuwe wetgeving raakt oude systemen

DORA, NIS2, AI Act of NEN 7510 stelt eisen aan logging, beveiliging of dataminimalisatie die uw legacy-stack niet of nauwelijks kan leveren. Patchen lukt niet meer; moderniseren is de enige route.

Cloud-noodzaak

On-prem hardware aan einde levensduur

De fysieke server waar uw AS/400 of Oracle Forms-applicatie op draait nadert end-of-life. Vervangen kost veel, maar er is geen on-prem opvolger meer. Migratie naar cloud is de logische stap.

M&A-aftermath

Acquisitie heeft een tweede stack achtergelaten

U heeft een bedrijf gekocht en daarmee een hele applicatie-portfolio in een totaal andere stack. Twee silo’s naast elkaar is duur — consolidatie vraagt om een moderniserings-plan.

Schaal-plafond

De oude architectuur schaalt niet meer

Een monoliet die op één server draait en niet horizontaal kan groeien, een database die het transactievolume niet meer aankan, of een desktop-app die niet geschikt is voor remote work. Schaal vraagt om een nieuwe architectuur.

Welke legacy-categorieën we tegenkomen.

Geen twee legacy-stacks zijn gelijk. Een mainframe-modernisering vraagt iets totaal anders dan een Delphi-replatform. Onderstaande categorieën dekken het overgrote deel van wat wij in de markt zien.

Mainframe

z/OS, COBOL, JCL

Met name banken en verzekeraars hebben nog kernsystemen op mainframe. Modernisering combineert vaak een gefaseerde uitname (rebuild of replace) met tijdelijke façades zodat moderne kanalen al kunnen worden ontwikkeld vóór het mainframe leeg is.

IBM i

AS/400 met RPG-applicaties

Vaak ERP-achtige systemen die jaren stabiel hebben gedraaid. Replatform naar Linux of containers met behoud van de data-modellen, of een geleidelijke herbouw met de RPG-applicatie als source-of-truth tijdens overgang.

Desktop-legacy

Delphi, VB6, .NET WinForms, MFC

Bouwbedrijven, productiebedrijven, ICT-vendors: veel sector-specifieke tools. Wij replatformen naar web of moderne desktop (.NET-modern, Electron of native web-apps) met behoud van workflows die gebruikers gewend zijn.

Web-legacy

Classic ASP, ColdFusion, PHP 4/5, Perl/CGI

Verrassend veel B2B-portalen draaien hier nog op. Moderniseren naar Node.js, .NET, PHP 8 of een moderne front-end stack. Vaak met API-laag tussen oud en nieuw, zodat migratie incrementeel kan.

Database-legacy

Access, Oracle Forms, SQL Server 2000

Veelal kleinere applicaties die ‘sluipenderwijs’ kritiek zijn geworden voor de organisatie. Migratie naar een moderne backend met API-laag, vaak gecombineerd met een nieuwe web-frontend.

Cloud-naive

LAMP-monolieten zonder containerisatie

Niet ‘oud’ in jaren maar wel verouderd in architectuur: niet horizontaal schaalbaar, geen CI/CD, geen observability. Replatform naar containers, infra-as-code en moderne deploy-pipelines.

De Gartner 6R’s, uitgebreid naar acht keuzes.

De 6R-strategie van Gartner is dé industrie-standaard voor modernisering-keuzes. Wij gebruiken een uitgebreide variant met acht opties — omdat de werkelijkheid soms gewoon meer nuance vraagt.

Retire

Afschaffen

Niet elk legacy-systeem hoeft een opvolger te krijgen. In een typisch portfolio kan een aanzienlijk deel simpelweg uit. Dat is niet falen — dat is opruimen. Datgeen wat er nog uit moet, archiveren we conform retentie-eisen.

Retain

Bewust handhaven

Het systeem is oud maar werkt prima en heeft weinig change. Geen actie. Wel monitoring op risico (eind-van-leven van de stack, single-point-of-failure-personen) en een herzieningsmoment in de roadmap.

Rehost

‘Lift and shift’ naar cloud

De applicatie van een fysieke server of VM naar een cloud-VM verhuizen, zonder code-aanpassing. Snel en goedkoop, maar de oude architectuur blijft. Goed als tussenstap om hardware-risico weg te halen.

Replatform

Lichte aanpassing voor PaaS of containers

Code blijft grotendeels intact maar gaat naar een container, PaaS-database of managed service. Meer operationele winst dan rehost, beperkte code-impact. Vaak het sweet spot voor desktop- en web-legacy.

Refactor

Interne herstructurering, zelfde functionaliteit

Code intern moderniseren — modulariseren, testbaar maken, dependencies vervangen — zonder dat het gedrag wijzigt. Belangrijk vóór een rebuild als er nog veel ongedocumenteerde logica in zit.

Repurchase

Vervangen door SaaS

Soms is het oude systeem iets wat de markt allang als standaard-SaaS levert (CRM, helpdesk, expense-management). Vervangen door een commercieel product is dan rationeler dan zelf bouwen. Wij begeleiden de selectie en data-migratie.

Rebuild

Totale herbouw met behoud van scope

De applicatie van nul opnieuw bouwen, met dezelfde business-functionaliteit maar moderne stack en architectuur. Voor systemen die strategisch zijn, business-kritisch, en waar refactor niet meer rendabel is.

Replace

Vervangen door iets totaal nieuws

Niet alleen de techniek vervangen maar ook de scope herzien. Soms blijkt na inventarisatie dat het oude systeem doet wat in 2005 nodig was, maar dat het werkproces ondertussen veranderd is. Dan bouwen we niet de oude maar de nieuwe versie.

Waarom maatwerk en niet alleen automated translation.

Er zijn goede automated-translation tools voor legacy: Modulus, Asysco AMT (COBOL naar .NET), Heirloom voor mainframe. Wij gebruiken ze waar ze passen. Maar in een aantal scenario’s schiet pure automation tekort en is maatwerk de juiste route.

Business-logica te specifiek

De vertaler snapt de regels niet

Automated translation transformeert syntax: COBOL-code naar C#-code. Maar de echte waarde van een legacy-systeem zit vaak in onuitgesproken business-regels die over jaren in de code zijn geslopen. Die overleeft een one-shot vertaling zelden.

Strategisch karakter

Te belangrijk voor een tool-only-aanpak

Bij applicaties waar uw concurrentievoordeel in zit, wilt u meer dan een 1-op-1 conversie. U wilt dat de modernisering tegelijk een upgrade is van wat de applicatie kan — en dat vraagt ontwerp, geen vertaling.

Multi-systeem orchestratie

Geen tool dekt het hele plaatje

In portfolio-trajecten lopen meerdere migraties parallel — elk met eigen tooling, eigen leverancier, eigen risico. Iemand moet die orkestreren. Dat is een rol die geen tool kan invullen.

Compliance-overlay

Audit-trail van begin af aan

Zorg met NEN 7510, financieel met DORA, kritieke infra met NIS2. Audit-trail kun je niet achteraf bij-vertalen — die moet vanaf het eerste sprint in de migratie ingebakken zitten.

Knowledge-loss

Niemand kan de output meer reviewen

Een automated translation levert iets op. Maar als de oorspronkelijke ontwikkelaar weg is en de huidige beheerder geen idee heeft hoe het oude systeem werkte, kan niemand objectief beoordelen of het resultaat klopt. Wij regelen die reverse-engineering.

Geïntegreerd landschap

De applicatie hangt aan tien andere

Vertaler X kan applicatie A migreren, maar applicatie A praat met B, C en D. Die integraties moeten meebewegen. Maatwerk en orchestratie zijn dan goedkoper dan zes losse migratie-projecten naast elkaar.

Hoe een legacy-modernisering bij ons loopt.

1

Inventarisatie en stakeholder-mapping

We brengen elke applicatie in kaart: tech-stack, hosting, gebruikers, integraties, licenties, beheerkosten. Tegelijk inventariseren we welke business-processen erop draaien en wie de eigenaren zijn. Soms blijkt al hier dat 10 tot 20 procent van het portfolio simpelweg retired kan worden.

2

TCO-berekening en BAML-matrix

Per applicatie zetten we Total Cost of Ownership af tegen business-impact. Hoog-impact + hoog-cost-systemen krijgen prioriteit; laag-impact + laag-cost mag blijven staan. Uitkomst is een visuele matrix waarop de leiding kan sturen.

3

6R-classificatie en roadmap

Voor elke applicatie kiezen we de juiste strategie uit de uitgebreide 6R-set (retire, retain, rehost, replatform, refactor, repurchase, rebuild, replace). Daarna sequencen we: welke afhankelijkheden dwingen volgorde, waar zit risk-reduction-eerst-winst, en hoe verspreiden we de last over uw IT-organisatie.

4

Test-vangnet en evidence-of-behavior

Voor systemen die we gaan refactoren of herbouwen, bouwen we eerst een test-vangnet om de huidige werking. Geautomatiseerde end-to-end tests en, waar nodig, screen-recordings van bestaande gebruikers-flows. Doel: voorkomen dat ongeschreven business-rules in de migratie verdwijnen.

5

Strangler-fig migratie

Geen big-bang. We zetten een façade vóór het oude systeem en migreren stukje voor stukje functionaliteit naar de nieuwe stack. Gebruikers merken er weinig van; de organisatie blijft door-werken. Pas als de laatste functionaliteit gemigreerd is, schakelen we het oude systeem uit.

6

Hosting-migratie en infra-as-code

Waar relevant gaat de nieuwe applicatie naar cloud (AWS, Azure, GCP) of een container-platform (Kubernetes, OpenShift). Alle infra in Terraform of Pulumi, deploys via CI/CD, monitoring in OpenTelemetry. On-prem blijven kan ook — soms is dat de juiste keuze.

7

Beheer-overdracht en knowledge-transfer

De laatste fase. We trainen uw beheer-team, schrijven runbooks voor incidenten en planned changes, en regelen kennisoverdracht over de business-logica die we onderweg hebben blootgelegd. Daarna kunt u kiezen: u beheert zelf, of wij doen het tegen een vaste maandprijs.

Veelgestelde vragen.

Wat klanten meestal willen weten voor we starten met een modernisering-traject.

Wat valt eigenlijk onder ‘legacy’?
In de praktijk: alles waar moderne ontwikkeling structureel moeilijk gaat. Dat kan mainframe-COBOL zijn, een AS/400 met RPG-applicaties, desktop-tools in Delphi of VB6, web-platforms in Classic ASP, ColdFusion of PHP 4/5, of database-systemen rond Access en Oracle Forms. Soms ook ‘jongere’ stacks zoals een LAMP-monoliet zonder containerisatie. Het kernpatroon is altijd hetzelfde: de tech-stack maakt verandering duur of riskant.
Wat is het verschil met technische schuld oplossen?
Technische schuld is incrementele cleanup binnen een codebase die op zich nog moderne keuzes maakt — dependencies upgraden, tests aanvullen, code refactoren. Legacy-modernisering is een orde groter: vervangen, replatformen of integraal herbouwen omdat de stack zelf het probleem is. Voor het incrementele werk binnen één codebase verwijzen we naar onze technische-schuld-pagina.
Big-bang of strangler-fig — wat raden jullie aan?
Vrijwel altijd strangler-fig. Big-bang migraties zijn populair om te plannen maar gevaarlijk om uit te voeren: één misser en de hele business staat stil. Met strangler-fig migreer je functionaliteit stuk voor stuk; gebruikers zitten in een hybride omgeving waarin oude en nieuwe componenten samen draaien, en je kunt elk moment terug. Het duurt iets langer maar het risico is een fractie.
Hoe groot is het risico bij vervanging van een business-kritische applicatie?
Het grootste risico is doorgaans niet de techniek maar verborgen business-logica: regels die nergens gedocumenteerd zijn maar wel jaren in de code zitten. Daarom bouwen we voor we beginnen een test-vangnet op de oude implementatie en, waar nuttig, parallel-run-scenarios waarin oud en nieuw tegelijk dezelfde input verwerken. Zo komt elke afwijking aan het licht voordat de oude versie uit gaat.
Cloud of on-prem na de modernisering?
Allebei kan. Cloud (AWS, Azure, GCP) is vaak de logische keuze: snellere uitrol, betere observability, makkelijker schalen. Maar bij sterke compliance-eisen (sommige overheidsdomeinen, bepaalde financiële workloads, zorgomgevingen met dataresidency-eisen) is on-prem of een sovereign cloud nog steeds gangbaar. We adviseren per applicatie. Voor de cloud-route zelf hebben we een aparte pagina over platform-migratie.
Wie schrijft de tests bij een refactor?
Wij. Voor een refactor schrijven we eerst tests op de bestaande implementatie (gedrag-gebaseerd, niet implementatie-gebaseerd) zodat we tijdens de migratie objectief kunnen meten of het nieuwe systeem hetzelfde doet als het oude. Vaak ontdekken we hierbij ongedocumenteerde edge-cases — die documenteren we direct in test-namen, zodat de kennis behouden blijft.
Wat bepaalt de kosten?
Het aantal applicaties, de mate waarin business-logica gedocumenteerd is (slecht-gedocumenteerd kost meer reverse-engineering), de hoeveelheid integraties met andere systemen, en de compliance-overlay. Een single-app replatform is fundamenteel iets anders dan een multi-systeem programma met DORA-overlay. We zetten dat in het eerste gesprek scherp en geven een onderbouwde indicatie.
Hoe lang duurt zo’n traject?
Sterk afhankelijk van scope. Een enkele desktop-applicatie replatformen naar een web-app kan binnen een paar sprints staan. Een portfolio-modernisering met tien tot twintig applicaties is een traject van meerdere sprints, soms in tranches over een langere periode uitgespreid om de IT-organisatie niet vast te lopen. We mappen de planning in het roadmap-stadium.
Wat voor compliance-overlays komen jullie tegen?
DORA (financieel), NIS2 (kritieke infrastructuur), NEN 7510 (zorg), BIO (overheid), AVG (altijd), en de AI Act bij modernisering naar een AI-stack. We zorgen dat audit-evidence van begin af aan meegroeit — geen losse compliance-fase achteraf, want dat is meestal het moment waarop dingen vastlopen.
Werken jullie ook met onze bestaande IT-afdeling?
Vrijwel altijd. Een legacy-modernisering is geen feestje dat een externe leverancier alleen kan vieren — uw mensen kennen de business, de gebruikers en de geschiedenis. We werken als verlengstuk van uw team, doen kennisoverdracht continu (niet alleen aan het eind), en regelen duidelijke beheer-verantwoordelijkheden voor de oplevering. Zie ook onze IT-modernisering-consultancy als u eerst een second opinion wil.

Praat met ons over uw legacy-portfolio.

Een kennismaking van een half uur, vrijblijvend. Vertel ons welke systemen u doodlopen, welke wetgeving op u afkomt en welk deel van uw team nog grip op de oude stack heeft. Wij komen met een eerste richting — en zijn eerlijk als het niet bij ons past. Wilt u eerst breder kijken? Zie ook onze pagina over platform-modernisering-consultancy of over enterprise software laten ontwikkelen.

Edit Content