Learn

Hoe je legacy-software in een AI-SDLC brengt

De systemen die je bedrijf draaien zijn niet gebouwd voor AI-assisted development, en ze herschrijven is hoe moderniseringsprogramma's sterven. Dit is de incrementele oprit die wél werkt.

Legacy-software in een AI-SDLC brengen betekent een bestaand systeem, Rails, Java, Go, Python, Node of een multi-process backend, verpakken in de delivery loop die AI-gebouwde apps standaard krijgen: een reproduceerbare omgeving, gekoppelde bedrijfsdomeinen, beleidsgetoetste wijzigingen, geautomatiseerde tests en gecontroleerde deployment. Anders dan bij een rewrite wordt niets weggegooid; het systeem blijft draaien terwijl AI-assisted engineering onderhoud en nieuw werk incrementeel overneemt, te beginnen met laag-risicowijzigingen.

Ideaal voorEnterprise-IT-leidersEigenaren van verouderende line-of-business-systemenLeads van moderniseringsprogramma's

Gepubliceerd 2026-07-03 · Laatst bijgewerkt 2026-07-03 · Ciao-redactieteam

Het korte antwoord, uitgebreid

Elk gesprek over AI-assisted development stuit uiteindelijk op dezelfde muur: "prima voor nieuwe apps, maar ons bedrijf draait op een twaalf jaar oude Rails-monoliet en een Java-facturatiesysteem dat niemand volledig begrijpt." De muur is echt, de meeste AI-ontwikkeltooling veronderstelt een greenfield, maar de conclusie die teams eruit trekken, dat legacy-systemen op een rewrite moeten wachten voordat AI kan helpen, is precies verkeerd om. Legacy-systemen zijn waar AI-assisted engineering het meest oplevert, want daar wonen de onderhoudslast, het kennisrisico en de backlog daadwerkelijk.

Een legacy-systeem in een AI-SDLC brengen betekent niet een model vragen het opnieuw te genereren. Het betekent de bestaande code dezelfde delivery loop geven die een nieuwe AI-gebouwde app geniet: een omgeving waarin het systeem reproduceerbaar draait zodat agents er veilig aan kunnen werken; een kaart van welke code bij welke bedrijfsfunctie hoort; beleid dat de gevaarlijke zones beschermt; een baseline van geautomatiseerde tests rond gedrag dat niet mag veranderen; en een gecontroleerd pad van wijziging naar deployment. Zodra die loop bestaat, kunnen AI-agents het werk dragen waar mensen tegen opzien, dependency-upgrades, bugbacklogs, kleine features, documentatie, onder governance, terwijl het systeem productie blijft bedienen.

De strategische herframing: modernisering houdt op een bestemming te zijn (de grote rewrite, eeuwig achttien maanden verderop) en wordt een eigenschap van hoe het systeem vanaf nu wordt onderhouden. Systemen in de loop worden met elke beheerde wijziging incrementeel gezonder. Systemen erbuiten vervallen volgens schema.

Een nuttig mentaal model: behandel het legacy-systeem als een patiënt die wordt opgenomen, niet als een gebouw dat wordt gesloopt. Opname betekent eerst observatie, reproduceer het, koppel het, baseline zijn gedrag, dan behandeling in oplopende doses naarmate het bewijs zich opstapelt. Niets aan opname vereist geloven dat het systeem goed is; het vereist alleen dat het systeem dragend is, en precies daarom verdient het machinerie in plaats van heldendaden. De fasen hieronder zijn dat opnameproces, op volgorde, met het risico naar voren geladen op omkeerbare stappen.

Waarom legacy-systemen vastzitten, en waarom rewrites blijven falen

De pijn is structureel, niet toevallig. De engineers die het systeem begrepen zijn vertrokken of doorgeschoven, dus elke wijziging begint met archeologie. Testdekking is dun of ritueel, dus elke deploy is een kleine daad van moed, dus deploys zijn zeldzaam, dus wijzigingen stapelen op, dus deploys worden riskanter. De klassieke vicieuze cirkel. Ondertussen groeit de backlog van businessverzoeken, en de mensen die het systeem kunnen aanraken besteden hun capaciteit aan het in leven houden in plaats van het verbeteren. Dit is bij uitstek een capaciteitsprobleem, en dat is bij uitstek wat AI-assisted engineering adresseert. Mits de veiligheidsmachinerie bestaat waarbinnen agents kunnen werken.

Het traditionele ontsnappingsluik, de big-bang rewrite, heeft een faalhistorie die elke CIO kent: meerjarige tijdlijnen, het oude systeem dat onder het nieuwe door evolueert, de laatste 20% van het gedrag, ongedocumenteerd, dragend, die het grootste deel van het budget opslokt. Rewrites falen omdat ze eisen dat de organisatie het hele systeem in één keer begrijpt, en dat is precies de kennis die verloren ging. Incrementele benaderingen slagen omdat ze slechts één wijziging tegelijk vereisen te begrijpen, en één wijziging tegelijk is exact de granulariteit die AI-agents plus governance goed aankunnen.

Er is ook een talentwerkelijkheid. Niemand wil de onderhoudsstoel op een legacy-systeem, en ervoor werven wordt elk jaar moeilijker. Het systeem verpakken in een AI-SDLC verandert die stoel van fulltime archeologie in richting en review. Een rol die senior mensen wél aannemen.

De backlog zelf vertelt je hoeveel waarde er vastzit. De meeste verouderende systemen dragen jaren aan uitgestelde verzoeken, kleine features, integratievragen, rapportwijzigingen, die individueel nooit het deployrisico waard waren. Dat is de wrede rekenkunde van de vicieuze cirkel: hoe riskanter deploys worden, hoe hoger de lat om er één te wagen, hoe langer de rij groeit. Doorbreek de cirkel, goedkope, veilige, beheerde wijzigingen, en de rij verandert van een verplichtingenlijst in een waardepipeline, en daarom is backlog-afbouw de meest overtuigende vroege metric voor deze programma's.

De oprit in zes fasen

Doorloop de fasen op volgorde; elke fase ontrisicot de volgende. Het tempo kan weken per fase zijn voor één systeem, of een doorlopend programma over een portfolio. Weersta de drang om naar fase zes te springen. Elke overgeslagen fase duikt later weer op als een incident met slechtere timing.

  1. 1. Inventariseer en kies het eerste systeem

    Kies bewust: betekenisvolle pijn, gematigde impactradius. Een line-of-business-tool met een boze backlog verslaat de kern-betalingsengine voor fase één. Je wilt een systeem waar winsten zichtbaar zijn en fouten te overleven.

  2. 2. Reproduceer de omgeving

    Het systeem moet draaien, builden, booten, uitvoeren, in een gesandboxte omgeving die de productie-dependencies spiegelt. Dit is de technische crux voor oudere stacks, en het is waar custom sandbox images voor bestaan: Rails, Java, Go, Python, Node en multi-process backends draaiend waar agents er veilig aan kunnen werken.

  3. 3. Koppel de code aan bedrijfsdomeinen

    Zet tribale kennis om in structuur: welke modules facturatie zijn, welke auth, welke de rapportage die niemand aanraakt. Deze kaart is wat governance laat werken. Beleid hecht zich aan bedrijfsdomeinen, niet aan bestandspaden die alleen engineers kunnen interpreteren.

  4. 4. Wijs beschermde zones en beleid aan

    Voordat agents iets aanraken, schrijf de regels in gewone taal: betaallogica en auth zijn beschermde zones die senior menselijke goedkeuring vereisen; dependency-bumps en UI-teksten kunnen stromen met geautomatiseerde checks. Governance-first is het verschil tussen een oprit en een incident.

  5. 5. Vestig de testbaseline

    Leg het huidige gedrag vast, vooral de commercieel belangrijke gebruikersflows, als geautomatiseerde browser-level tests voordat er iets verandert. De baseline is jouw definitie van "niets kapotgemaakt", en haar bouwen is zelf werk dat agents onder review kunnen dragen.

  6. 6. Begin met laag-risico-wijzigingsklassen, verbreed dan

    Dependency-updates, bugbacklog, kleine features, documentatie. Werk met hoog volume en weinig drama dat het bewijsdossier opbouwt. Naarmate de audit trail zich opstapelt en het vertrouwen groeit, verbreed je de scope bewust richting diepere refactors en modernisering op moduleniveau.

Rewrite vs replatform vs verpakken in een AI-SDLC

De drie eerlijke opties voor een verouderend systeem, vergeleken op de dimensies die programma's beslissen. De meeste portfolio's hebben alle drie de antwoorden ergens nodig; de fout is standaard naar de eerste grijpen omdat die daadkrachtig voelt.

Big-bang rewriteReplatform naar low-codeVerpakken in een AI-SDLC
Bestaande codeWeggegooid en herbouwdHerbouwd binnen een leveranciersplatformBehouden, onderhouden en ter plekke verbeterd
ContinuïteitsrisicoHoog. Parallelle systemen, harde cutoverMiddel. Gedrag nagebouwd, randgevallen lopen risicoLaag. Het systeem blijft doorlopend draaien
Tijd tot eerste waardeKwartalen tot jarenMaandenWeken. De eerste beheerde wijzigingen gaan vroeg uit
Ongedocumenteerd gedragMoet vooraf herontdekt wordenMoet in het model van het platform passenBehouden; incrementeel gekoppeld en getest
Eigendom aan het eindNieuwe codebase die je bezitHangt af van platformvoorwaardenDezelfde code die je bezit, nu bestuurd en getest
Beste wanneerHet systeem is niet meer te reddenHet proces past op standaardpatronenHet systeem werkt maar is duur en riskant om te wijzigen

Gereedheidschecklist

Je bent klaar om te starten wanneer je de meeste hiervan kunt afvinken; de gaten zijn je werkplan voor fase één. Geen enkele vereist een moderniseringsbudget om te beginnen. De meeste zijn een week gefocust werk.

  • ✓ Een benoemd eerste systeem met een gemotiveerde business-eigenaar en een echte backlog
  • ✓ Toegang tot de broncode en het vermogen om runtime-dependencies op te sommen
  • ✓ Het systeem kan buiten productie aan het draaien gebracht worden (of je accepteert dat bouwen als stap één)
  • ✓ Minstens één persoon die vragen als "is dit gedrag bedoeld?" kan beslechten
  • ✓ Overeengekomen beschermde zones: de gebieden waar geen geautomatiseerde wijziging doorgaat zonder senior goedkeuring
  • ✓ De commercieel kritieke gebruikersflows zijn opgesomd, klaar om de testbaseline te worden
  • ✓ De securityhouding is gedocumenteerd: waar de gevoelige data leeft, wie wat mag benaderen
  • ✓ Een deploymentpad met rollback bestaat of wordt geaccepteerd als vroege scope
  • ✓ Succesmetrics vooraf gekozen: backlog-afbouw, deployfrequentie, incidentratio

Waar Ciao past

Deze oprit is een eersteklas pad op Ciao, geen aanpassing. Custom sandbox images verpakken AI-assisted engineering rond Rails, Java, Go, Python, Node en multi-process backends. Fase twee van het framework als platformcapaciteit. Guardrails doet vervolgens het koppelen en beschermen: het koppelt code aan bedrijfsdomeinen, detecteert risicovolle wijzigingen, past plain-English-beleid toe, legt menselijke review vast en laat een audit trail achter elke merge. Exact de governance-first-houding die legacy-systemen eisen. QA bouwt en draait de baseline. Deterministische browserreplays, self-healing tests, smoke gates vóór publicatie, productiechecks erna, en Doctor onderzoekt de live app, DNS en CDN om de hoofdoorzaak te diagnosticeren wanneer iets zich misdraagt.

Voor portfolio's in plaats van losse systemen geeft Conductor één scherm voor honderden, soms duizenden, projecten met live gezondheid en zichtbaarheid van beschermde zones, wat een doorlopend moderniseringsprogramma daadwerkelijk nodig heeft om door een klein team beheerd te worden. Deployment kan blijven waar compliance het vereist: je eigen AWS-, Azure- of GCP-account, private VPC, of on-prem onder aparte voorwaarden. Serieuze ontwikkelprogramma's beginnen bij USD 10.000 per jaar. Het gesprek met sales is concreet: breng één verouderend systeem en zijn backlog mee, en baken af hoe fase één er daarvoor uitziet.

Stel verwachtingen eerlijk binnen je organisatie: de eerste weken produceren infrastructuur, geen features. Een reproduceerbare omgeving, een bedrijfsdomeinenkaart, een testbaseline, en dat kan traag ogen voor stakeholders aan wie AI-snelheid was beloofd. Het samengestelde effect begint daarna: elke volgende wijziging rijdt over dezelfde rails, en de honderdste beheerde wijziging kost een fractie van de eerste. Programma's die deze vorm vooraf communiceren, behouden hun sponsors; programma's die instantsnelheid beloven op een twaalf jaar oude codebase, besteden maand drie aan excuses.

Veelgestelde vragen

Betekent een legacy-systeem in een AI-SDLC brengen dat de AI het herschrijft?

Nee. Dat is de rewrite-valkuil met een nieuwe auteur. Het systeem blijft draaien en wordt incrementeel gewijzigd: agents dragen onderhoud, upgrades en features één beheerde wijziging tegelijk, binnen beleid en tests die het bestaande gedrag beschermen. Diepe refactors komen later, verdiend door opgestapeld bewijs.

Onze stack is oud Rails en Java. Wordt dat echt ondersteund?

Ja. Op Ciao verpakken custom sandbox images AI-assisted engineering rond Rails, Java, Go, Python, Node en multi-process backends, zodat het systeem draait in een reproduceerbare omgeving waar agents het kunnen builden, booten en testen. Die omgeving productiegetrouw krijgen is fase twee van het framework en de belangrijkste technische inspanning.

Wat als niemand in het bedrijf het systeem nog volledig begrijpt?

Dat is de normale startconditie, en het is een argument vóór deze aanpak in plaats van ertegen. Code aan bedrijfsdomeinen koppelen herbouwt het structurele begrip expliciet, de testbaseline pint het huidige gedrag vast voordat er iets verandert, en elke beheerde wijziging voegt documentatie toe aan de audit trail. Kennisherstel als bijproduct van onderhoud.

Hoe voorkomen we dat een AI-agent iets kritieks breekt?

Gelaagde controls, aangewezen voordat het werk begint: beschermde zones rond betaal-, auth- en datatoegangscode vereisen vastgelegde menselijke goedkeuring; plain-English-beleid classificeert elke wijziging op risico; browser-level baseline-tests gaten publicaties; en rollback is een standaardoperatie. De agent werkt binnen het hek, niet op vertrouwen.

Hoe lang duurt het voordat dit resultaten toont?

De eerste beheerde wijzigingen gaan doorgaans binnen weken na het reproduceren van de omgeving uit. Dependency-updates en backlogfixes komen vroeg omdat ze hoog volume en laag risico zijn. Beoordeel het programma op trendmetrics die je bij de start vastlegt: backlog-afbouw, deployfrequentie en incidentratio, kwartaal op kwartaal.

Is dit goedkoper dan een rewrite?

Het heeft eerder een andere vorm dan dat het simpelweg goedkoper is: continue incrementele investering in plaats van één grote gok met een verre uitbetaling, met waarde die vanaf de eerste maand arriveert en de optie om op elk punt te stoppen zonder te verliezen wat is uitgeleverd. Programma's falen minder vaak wanneer elke fase het systeem beter achterlaat dan ze het aantrof.

Gerelateerde pagina's

Serieuze ontwikkeling begint met serieuze verantwoordelijkheid.

Legacy-software in een AI-SDLC brengen | Ciao