Home / Legacy software moderniseren
Software modernisering

Legacy software moderniseren zonder uw bedrijf stil te zetten

Moderniseer legacy software stap voor stap: leg eerst het huidige gedrag vast in tests, en vervang daarna module voor module terwijl het oude systeem blijft draaien. Herbouwen loont alleen als de bedrijfsregels in de code niet meer kloppen.

Elke organisatie van enige omvang draait op een paar systemen die niemand graag aanraakt: een Access-database die de planning draagt, een .NET Framework-applicatie voor de orderverwerking, een PHP-portaal uit 2016. Deze pagina is voor de IT-manager, CIO of informatiemanager die beslist wat ermee gebeurt en het resultaat daarna beheerd moet krijgen.

Door Tom Joseph · Laatst bijgewerkt: 29 oktober 2026

Vat samen met AI Prompt gekopieerd. Plak hem in de chat
Delen
In het kort

Er zijn vier routes: de code bijwerken naar een ondersteunde versie (refactoren), het systeem module voor module vervangen achter een tussenlaag (het strangler fig-patroon), opnieuw bouwen, of overstappen op een standaardpakket. Drie vragen bepalen welke route past: kloppen de bedrijfsregels in de code nog, kan het huidige gedrag in tests worden vastgelegd, en kunnen verzoeken aan het oude systeem worden onderschept? Welke route u ook kiest: geen big bang, eerst tests, en een vooraf afgesproken taakverdeling met wie uw servers beheert.

Waarom nu

Welke platforms hun ondersteuning verliezen

PlatformEinde ondersteuningWat het betekent
PHP 8.1 en ouderAl verlopenGeen beveiligingsfixes meer van het PHP-project. php.net noemt alleen 8.2 tot en met 8.5 als ondersteund.
PHP 8.231 december 2026De beveiligingsfixes stoppen eind dit jaar; PHP 8.3 wordt gedekt tot 31 december 2027.
.NET Framework 4.6.212 januari 2027Versies 4.5.2, 4.6 en 4.6.1 stopten al op 26 april 2022 (Microsoft Lifecycle).
.NET 8 en .NET 910 november 2026De huidige langetermijnversie, .NET 10, wordt ondersteund tot 14 november 2028 (.NET-ondersteuningsbeleid).
Access 2016 en Access 201914 oktober 2025Geen nieuwe beveiligingsupdates meer (Microsoft, einde ondersteuning 2025).
De keuze

Refactoren, stapsgewijs vervangen, herbouwen of een pakket

RouteKies deze alsWaar het risico zit
Refactoren en upgradenDe bedrijfsregels nog kloppen en het probleem vooral de runtime of het framework is, zoals PHP 7.4 of .NET Framework.Gedrag dat niemand heeft beschreven en dat bij de upgrade ongemerkt verandert.
Stapsgewijs vervangen (strangler fig)Het systeem groot is, nog lang moet draaien en verzoeken via een tussenlaag kunnen lopen.Twee systemen die tijdelijk dezelfde data delen.
HerbouwenDe regels in de code niet meer kloppen, het systeem klein is of de code niet te testen is.Oude regels waarvan pas na livegang blijkt dat ze ontbreken.
StandaardpakketHet proces u niet onderscheidt en een pakket het al goed doet.Maatwerk dat terugkomt als configuratie die niemand overziet.
UitfaserenBijna niemand het nog gebruikt.Een vergeten koppeling of rapport dat er toch op leunt.
Stap voor stap

Hoe het strangler fig-patroon het risico spreidt

Microsoft beschrijft het strangler fig-patroon zo: een tussenlaag (façade) ontvangt alle verzoeken en stuurt ze naar het oude of het nieuwe systeem. Functionaliteit verhuist stuk voor stuk, gebruikers houden dezelfde ingang, en het oude systeem gaat uit zodra niets er nog van afhangt.

In de praktijk kiest u eerst een module met een duidelijke grens en een zichtbare winst, bijvoorbeeld de orderinvoer of de rapportage. Die gaat live naast de rest, bewijst zich in gebruik, en pas dan volgt de volgende. Elke stap is terug te draaien door de tussenlaag weer naar het oude systeem te laten wijzen.

Microsoft noemt ook wanneer het patroon niet past: als verzoeken aan het oude systeem niet te onderscheppen zijn, als u de broncode of de database niet kunt aanpassen, of als het systeem zo klein is dat in één keer vervangen eenvoudiger is.

AI, veilig ingezet

AI-ondersteunde migratie begint met tests, niet met code

AI-tools doen inmiddels het grootste deel van het mechanische werk: verouderde taalconstructies herschrijven, bibliotheken vervangen, projectbestanden omzetten. Microsofts GitHub Copilot-upgradeagent zet .NET Framework-projecten van elke versie om naar .NET 8 of later, heeft een scenario voor ASP.NET Web Forms naar Blazor en maakt per deelstap een Git-commit, zodat elke wijziging terug te draaien is. Voor PHP past Rector upgraderegels toe van PHP 5.3 tot en met 8.5.

Snelheid is dus niet meer het probleem. Het risico zit in gedrag dat nergens beschreven staat. Daarom beginnen wij met karakteriseringstests: tests die vastleggen wat het systeem vandaag doet, inclusief de eigenaardigheden waar gebruikers op rekenen. AI schrijft een eerste versie, een engineer toetst die aan echte gevallen, en daarna gaat geen wijziging door zonder groene tests en zonder dat een engineer haar heeft gelezen. Wat er in de praktijk breekt, staat in onze analyse van PHP2Shell en oude PHP-code.

Continuïteit

De zaak blijft draaien tijdens de migratie

Data

Datamigratie bepaalt de planning

Code omzetten gaat met de huidige tooling snel; data verhuizen niet. In een Access-database of een oude SQL Server-omgeving zitten dubbele klanten, velden die in de loop der jaren een andere betekenis kregen, en regels die alleen in een query van een vertrokken collega staan.

Wij werken in vier stappen. Eerst een inventaris: welke tabellen, wie leest en schrijft erin, welke rapporten en koppelingen hangen eraan. Dan de mapping van oud naar nieuw, met per veld een besluit over opschonen. Dan proefmigraties op een kopie, net zo vaak tot de reconciliatie klopt: aantallen, totalen en steekproeven per tabel, afgetekend door iemand uit de business. Pas dan de definitieve overzetting, in een afgesproken bevriezingsvenster.

Bij stapsgewijze vervanging gebruiken oud en nieuw tijdelijk dezelfde data. Microsoft wijst er bij het strangler fig-patroon op dat beide systemen dan tegelijk bij die gegevens moeten kunnen; dat ontwerp leggen we vast voordat de eerste module live gaat.

Taakverdeling

Uw ICT-partner, uw IT-organisatie en wij

FaseCrux DigitsUw ICT-partnerUw organisatie
AnalyseCode-audit, testdekking, migratieplan per applicatieToegang tot code en servers, overzicht van omgevingen, versies van runtime en serversEen eigenaar per applicatie, prioriteiten en budget
BouwRefactoring, nieuwe modules, karakteriseringstests, datamigratiescriptsTest- en acceptatieomgeving die op productie lijkenAcceptatietests, besluiten over betwiste bedrijfsregels
Change en releaseEen wijzigingsverzoek met impact en terugvalplanEen plek in de changekalenderAkkoord van de change advisory board
LivegangReleasepakket, runbook, ondersteuning bij de overzettingUitrol, servers, back-ups, monitoringAkkoord op livegang
Na livegangOverdracht van code, tests en kennisHosting, patches, beheerApplicatie-eigenaarschap
Hosting, patches, helpdeskNiet bij ons: dat bieden wij nietJaContractbeheer
Eigendom

Uw code, uw tests, geen nieuwe afhankelijkheid

Veel legacy-problemen zijn eigendomsproblemen: de broncode staat bij een leverancier, de enige ontwikkelaar is vertrokken, of niemand weet nog welke versie in productie draait.

Bij ons staat de code vanaf de eerste dag in uw eigen repository. U krijgt de testset die het gedrag bewijst, de datamigratiescripts, een runbook waarmee uw ICT-partner de applicatie kan uitrollen en herstellen, en een verslag van de architectuurkeuzes. Er zit geen eigen framework of platformlicentie van ons onder, dus een andere leverancier of uw eigen team kan zonder ons verder.

Vraag elke leverancier, ons inbegrepen: in welke repository staat de code, wie heeft de rechten, en kan een derde de applicatie bouwen en uitrollen met alleen de overdracht?

Kosten en doorlooptijd

Drie vaste stappen, per applicatie

Audit en strategie, €2.500, één tot twee weken: code, afhankelijkheden, testdekking en data doorgelicht, met een advies per applicatie (refactoren, stapsgewijs vervangen, herbouwen of uitfaseren) en een vaste prijs voor de volgende stap. Is een standaardpakket de betere keuze, dan staat dat in het advies. Productieklare MVP, €20.000, vier tot zes weken: de eerste module, of de upgrade van één afgebakende applicatie, met karakteriseringstests, werkend op uw eigen data. Productie, vanaf €50.000, acht tot twaalf weken: de volledige migratie, gekoppeld, getest en overgedragen met alle broncode. Prijzen exclusief btw; de audit wordt verrekend met de MVP als u binnen 60 dagen doorgaat. Eén vaste engineer is uw aanspreekpunt van begin tot eind.

Alle prijzen staan op onze prijzenpagina, onze werkwijze bij maatwerk software laten maken.

Voorbeelden

Hoe dit er per sector uitziet (voorbeelden)

FAQ

Veelgestelde vragen

Wat is legacy software?

Legacy software is software die uw organisatie nog nodig heeft, maar die moeilijk te onderhouden is geworden: de runtime krijgt geen beveiligingsupdates meer, het framework is verouderd of niemand kent de code nog. Leeftijd alleen zegt weinig: een systeem van twintig jaar met tests kan gezonder zijn dan een applicatie van vijf jaar waar niemand aan durft te komen.

Wanneer is een legacy systeem vervangen beter dan moderniseren?

Vervangen is beter als de bedrijfsregels in de code niet meer kloppen, als een standaardpakket het proces even goed ondersteunt, of als het systeem zo klein is dat herbouwen sneller gaat dan testen. Kloppen de regels nog en zit het probleem vooral in de techniek, dan behoudt moderniseren de waarde die in de code zit. De audit geeft per applicatie een onderbouwd advies.

Wat kost het om legacy software te moderniseren?

Bij Crux Digits kost de audit €2.500, een Productieklare MVP €20.000 en een volledige productiemigratie vanaf €50.000, exclusief btw. De audit duurt één tot twee weken, de MVP vier tot zes weken en productie acht tot twaalf weken. De audit wordt verrekend met de MVP als u binnen 60 dagen doorgaat. Wat het uiteindelijk kost, hangt vooral af van testdekking, datakwaliteit en het aantal koppelingen.

Kan AI verouderde code automatisch omzetten?

Ja, voor het mechanische deel: AI-tools en regelgebaseerde tools zoals Rector en de GitHub Copilot-upgradeagent zetten verouderde code grotendeels om. Wat ze niet bepalen, is of het resultaat zich hetzelfde gedraagt. Daarom komen eerst de karakteriseringstests, en leest een engineer elke wijziging voordat die in de codebasis wordt opgenomen.

Hoe migreert u data zonder stilstand?

Door proefmigraties op een kopie te draaien tot de reconciliatie klopt, en de definitieve overzetting in een kort, afgesproken bevriezingsvenster te doen. Bij stapsgewijze vervanging verhuist de data per module, en kunnen oud en nieuw tijdelijk dezelfde gegevens gebruiken. Het oude systeem blijft beschikbaar als terugvaloptie tot de business de nieuwe module heeft geaccepteerd.

Moet onze ICT-partner meewerken?

Ja, en dat is de bedoeling: uw ICT-partner blijft de servers, de uitrol, de back-ups en het beheer verzorgen, en wij werken aan de applicatie. Wij hebben van hen toegang tot een testomgeving en een overzicht van de versies nodig; zij krijgen van ons een releasepakket en een runbook. Crux Digits host niet en biedt geen helpdesk; wij werken naast uw ICT-partner, niet in diens plaats.

Welke applicatie staat bovenaan uw lijst?

Stuur ons de naam van de applicatie, de versie van de runtime en wie hem beheert. Wij vertellen u welke route past en wat de audit zou opleveren.

Plan een gratis kennismaking →