Twee Foreside-engineers in gesprek aan hun bureau

Verouderde software moderniseren zonder alles tegelijk te vervangen

Als AI nieuwe eisen stelt, kan software waar je al jaren op draait ineens in de weg zitten. Je leest hoe je gericht vernieuwt, bestaande kennis behoudt en het dagelijkse werk tijdens de verbouwing laat doorgaan.

Oude software heeft haar plek meestal verdiend

Legacy is een naam voor software die al langer meegaat en waarop je organisatie nog steeds vertrouwt. Het is geen scheldwoord. Dat systeem verwerkt bestellingen, ondersteunt je planning of zorgt dat facturen de deur uitgaan. Alleen durft niemand de regels nog aan te passen, omdat niet duidelijk is wat er dan omvalt. De wens om AI toe te voegen maakt die spanning zichtbaar: gegevens moeten toegankelijk worden, terwijl je juist voorzichtig bent geworden met elke wijziging aan het systeem dat je dagelijkse werk draagt.

Alles opnieuw bouwen lijkt dan overzichtelijk, maar je vervangt meer dan code. Je moet ook de uitzonderingen terugvinden die door de jaren heen in het systeem zijn beland. Een herbouw in één keer wordt daardoor al snel de duurste route: je bouwt het nieuwe systeem terwijl je het oude onderhoudt, en stelt verbetering uit tot de overstap. Begin daarom met de vraag welke beperking je nu werkelijk moet oplossen.

Begin waar veranderen het meeste verschil maakt

Je hoeft niet eerst het hele systeem te doorgronden om een zinvolle start te maken. Kies een afgebakend onderdeel dat veel handwerk veroorzaakt, geregeld fouten oplevert of een belangrijke verbetering tegenhoudt. Denk aan ordergegevens die medewerkers steeds overtypen, of documenten die je voor een AI-toepassing toegankelijk wilt maken. Kijk daarbij verder dan de zichtbare ergernis: hoeveel ander werk hangt ervan af, wie kent de uitzonderingen en kun je dit onderdeel afzonderlijk aanpassen? Zo kies je een eerste stap die merkbaar helpt en uitvoerbaar blijft.

Voordat je iets verandert, leg je met automatische tests vast hoe dat onderdeel zich gedraagt. Zo'n test voert een handeling uit en controleert de uitkomst, bijvoorbeeld of een order met een afwijkend afleveradres goed wordt verwerkt. Neem ook bekende uitzonderingen mee. Bespreek onverwachte uitkomsten met de mensen die ermee werken: bestaand gedrag is niet automatisch gewenst gedrag. Deze controles geven je houvast wanneer je de onderliggende code gaat aanpassen of vervangen.

Maak onderdelen los en houd de winkel open

Een onderdeel losmaken betekent dat het een duidelijke taak en een afgesproken verbinding met de rest krijgt. Bijvoorbeeld: het bestaande systeem blijft orders verwerken, terwijl een apart onderdeel documenten doorzoekbaar maakt. Leg vast welke gegevens over die verbinding gaan en welk systeem ze mag wijzigen. Daarna kun je dat onderdeel vernieuwen zonder tegelijk de orderverwerking te vervangen. Zoek daarbij naar grenzen in het werkproces. Een technische knip die dwars door dezelfde dagelijkse handeling loopt, maakt beheer en foutzoeken juist lastiger.

Laat de nieuwe route eerst voor een beperkte groep of een afgebakend soort werk draaien. Controleer of gegevens goed aankomen, uitkomsten kloppen en medewerkers verder kunnen. Spreek vooraf af wanneer je terugschakelt en hoe dat gebeurt, ook als er inmiddels gegevens zijn gewijzigd. Wijs voor ieder gegeven aan welk systeem leidend is. Zo houd je de winkel open tijdens de verbouwing en voorkom je dat twee systemen ieder een andere werkelijkheid bijhouden.

Eén onderdeel per keer. De kern blijft draaien, en je kunt terug zolang je dat vooraf hebt afgesproken.

AI helpt met uitzoekwerk, jij bepaalt de richting

AI kan helpen om onbekende code te doorzoeken, een eerste uitleg van een functie te schrijven of herhalende aanpassingen voor te bereiden. Dat is bruikbaar als documentatie ontbreekt en je wilt begrijpen waar een verandering doorwerkt. Behandel de uitleg wel als een voorstel dat je controleert aan de hand van de code, tests en praktijkkennis. AI kan een overtuigende beschrijving geven die een belangrijke uitzondering mist. Ook door AI aangepaste code moet daarom dezelfde controles doorlopen als ander werk aan je systeem.

De keuzes blijven bij jou en de mensen die het proces kennen. Welk gedrag moet behouden blijven, welke uitzondering kan verdwijnen en hoeveel verstoring is acceptabel? Dat staat niet volledig in de code. Gebruik AI voor werk dat je kunt nakijken en controleer vooraf welke code en gegevens je met het hulpmiddel mag delen. Het helpt bij de uitvoering, maar neemt de verantwoordelijkheid voor ontwerp, ingebruikname en herstel niet over.

Vernieuwen terwijl het werk doorgaat

Je hoeft oude software niet af te schrijven om ruimte te maken voor AI. Begin met een beperking die ertoe doet, leg het bestaande gedrag vast en vervang een afgebakend onderdeel. Zorg dat je kunt controleren wat er verandert en kunt terugschakelen als dat nodig is. Zo wordt moderniseren een reeks beheersbare stappen, met een werkend bedrijf als uitgangspunt.

Plan een kennismaking