Geschreven door Robbert Nillessen, Microsoft Certified Technology Specialist.

Robbert Nillessen heeft meer dan 25 jaar ervaring als Microsoft Certified Technology Specialist, met een focus op het verbeteren van technische ondersteuning en het oplossen van complexe problemen binnen cloudinfrastructuren.

Robbert's achtergrond in IT Consultancy en IT Systeembeheer biedt inzicht in de strategische en operationele aspecten van het valideren van aannames voor gefaseerde modernisering van legacy-systemen.

Afkadering: Robbert's expertise ligt in strategisch IT-advies en systeembeheer, niet in specifieke technieken voor legacy-integratie.

Een IT-consultancy toont begrip van legacy-integraties aan door onbekenden expliciet vast te leggen, het werkelijke gedrag van transacties in de live keten te onderzoeken en elke afgebakende moderniseringsfase pas te laten doorgaan na vooraf bepaald bewijs, acceptatiecriteria en een terugvaloptie. Tijdens co-existentie moet bovendien per gegeven duidelijk zijn welk systeem leidend is, waar wijzigingen mogen ontstaan en hoe afwijkingen eenduidig worden opgelost.

Kernpunten: legacy-integraties valideren

Een geloofwaardige gefaseerde roadmap spreidt integratierisico alleen wanneer zij feitelijke onzekerheden verkleint vóór realisatie, in plaats van kritieke koppelingen naar een later omschakelmoment te verschuiven.

  • Toets of de consultancy de feitelijke transactieroutes heeft onderzocht, inclusief batchverwerking, verborgen triggers, handmatige workarounds en uitzonderingspaden.
  • Vraag bewijs dat iedere fase een scherp afgebakende functie behandelt en alleen doorgaat wanneer objectieve voorwaarden zijn gehaald; een fasering op papier is geen risicospreiding.
  • Leg tijdens gelijktijdige werking per entiteit en veld vast welke bron gezaghebbend is en hoe conflicterende wijzigingen worden afgehandeld.
  • Beoordeel niet alleen bekende interfaces, maar ook de grenzen van de koppeling: foutafhandeling, verantwoordelijkheden, uitgestelde verwerking en externe afhankelijkheden.
  • Maak onderscheid tussen een snel zichtbare nieuwe voorkant en bewezen beheerste integratie: zonder onderzoek naar de backend zegt een quick win weinig over livegangrisico.
  • Weeg extra tijdelijke overgangsvoorzieningen af tegen het risico van een volledige omschakeling op één moment; ook een wijzigingsstop in legacy heeft gevolgen voor de operatie.

Wanneer een gefaseerde roadmap werkelijk risico spreidt

Van vastgelegde aanname naar realisatie op basis van aangetoond gedrag.
Van vastgelegde aanname naar realisatie op basis van aangetoond gedrag.

Een gefaseerde moderniseringsroadmap is pas geloofwaardig wanneer de fasen technische én functionele onzekerheid daadwerkelijk verkleinen vóór de realisatie begint. Dat vraagt om meer dan een tijdlijn met losse werkstromen. Elke veronderstelling over een legacy-integratie hoort expliciet te worden vastgelegd: welke gegevens bewegen tussen systemen, welke interface daarbij betrokken is, welke functie afhankelijk is van die uitwisseling en wat nog niet feitelijk is vastgesteld. Vervolgens krijgt iedere relevante aanname een PoC-validatiepoort: een vooraf bepaald beslismoment waarop een proof of concept het benodigde gedrag moet aantonen. De overgang naar realisatie volgt dan op aangetoond gedrag, niet op de verwachting dat een koppeling zich volgens een ontwerp zal gedragen.

Een bruikbaar onderscheid is functionele spreiding tegenover een big-bang in vermomming. Bij functionele spreiding wordt een afgebakend deel van de werking onderzocht en gevalideerd voordat een volgend deel aan de beurt is. Bij een big-bang in vermomming bestaat de eerste fase vooral uit theoretisch ontwerp, terwijl alle bedrijfskritische interfaces en datastromen naar één later overgangsweekend verschuiven. De roadmap heeft dan wel fasen op papier, maar de feitelijke integratierisico’s komen nog steeds op één moment samen. De fase-indeling stelt het lastigste bewijs dan slechts uit.

Een Anti-Corruption Layer, een tussenlaag die moderne workflows afschermt van directe afhankelijkheid van legacy-interfaces, kan in de co-existentiefase een duidelijke grens vormen tussen moderne Microsoft 365-workflows en verouderde databases of interfaces. Deze tussenlaag ontkoppelt de moderne workflow van de legacy-kant en kan daarmee payloadconflicten en ongecontroleerde mutaties beperken. Het doel is niet om het oude systeem onzichtbaar te maken, maar om de overgang beheersbaar te houden terwijl beide kanten naast elkaar bestaan. Zo wordt concreet welke grens de consultancy aanbrengt, welke aanname daarachter ligt en welk gedrag vooraf wordt getoetst.

Bij CloudSphere beschouwen we formele aannamenregisters met PoC-validatiepoorten als de grens tussen een onderbouwde roadmap en een planning die nog op veronderstellingen rust. Een voorstel verdient daarom beoordeling op de vraag of kritieke koppelingen vóór realisatie aantoonbaar zijn onderzocht en gevalideerd, of pas op het moment dat terugdraaien en escaleren de enige resterende opties zijn. Voor de bredere rol van IT-consultancy hoort die bewijsvolgorde onderdeel te zijn van de roadmap zelf, niet een activiteit die er later aan wordt toegevoegd.

Bronnen bij deze sectie: microsoft.com, microsoft.com

Een zelfverzekerde planning kan ongeteste koppelingen verbergen

Verborgen batchprocessen, spreadsheets en foutieve koppelingen verstoren de gegevensstroom tussen oud en nieuw systeem.

De meest misleidende roadmap is niet per se een zichtbaar chaotische roadmap, maar een planning die rustig en volledig oogt terwijl de feitelijke transactieketen nog grotendeels onbekend is. Bij legacy-integraties geeft een summiere intake zelden voldoende zicht op wat een systeem werkelijk doet. Een consultancy kan uitgaan van standaard API’s en een overzichtelijke koppeling, terwijl tijdens realisatie database-locks of ontbrekende endpoints zichtbaar worden. Als die ontdekking pas komt nadat de planning, inrichting en afhankelijkheden zijn vastgezet, ontstaat druk om alsnog een snelle omweg te bouwen.

Die omweg kan interne validatielogica omzeilen. In dat scenario verschuift het probleem van een nog onbewezen aanname naar beschadigde gegevens, escalaties en een roadmap die moet worden stilgezet. De relevante toetsvraag is daarom niet alleen of er interfaces zijn benoemd, maar of de consultancy kan aantonen hoe zij heeft vastgesteld dat de beschreven interfaces ook de feitelijke route van transacties vormen. Zonder dat bewijs is de scope vaak gebaseerd op de manier waarop een proces zou moeten werken, niet op de manier waarop het in de dagelijkse operatie werkt.

De werkelijke integratiegrens bestaat bovendien niet alleen uit formeel gedocumenteerde systemen. Ongedocumenteerde geplande batchjobs kunnen gegevens buiten het zicht van de nieuwe workflow verwerken. Schaduw-Excel-stromen kunnen daarnaast een praktische schakel zijn geworden in de verwerking, ook als zij niet in de formele architectuur staan. Als nieuwe Microsoft 365-workflows gegevens buiten de legacy-cyclus om overschrijven, bestaat het risico dat nachtelijke reconciliaties afwijken en medewerkers aanvullende handmatige correcties moeten uitvoeren.

Een derde signaal van onvoldoende begrip is onduidelijk data-eigenaarschap tijdens gelijktijdige werking. Vraag dan niet alleen welk systeem als leidend wordt aangeduid, maar ook waar die afspraak per entiteit en veld is vastgelegd, wie afwijkingen beoordeelt en welke wijzigingsroutes zijn toegestaan. Ontbreken die antwoorden, dan is de kans groot dat de benodigde regels voor co-existentie nog niet zijn uitgewerkt.

Een overtuigende presentatie of een snel omschreven fasering vervangt dit onderzoek niet. Ontbrekende endpoints, locks, batchprocessen, schaduwstromen en onduidelijke eigenaarschapafspraken zijn juist aanknopingspunten om te toetsen of de live omgeving is onderzocht of alleen een plausibel toekomstbeeld is beschreven.

Bronnen bij deze sectie: gapvelocity.ai, sigli.com

Co-existentie werkt alleen met één leidende bron per gegeven

Afspraken voor eenduidige gegevens tijdens co-existentie
Afspraken voor eenduidige gegevens tijdens co-existentie

Co-existentie is de periode waarin legacy-componenten en moderne componenten naast elkaar functioneren. In die periode is de centrale vraag niet welk systeem uiteindelijk blijft bestaan, maar welk systeem op dat moment leidend is voor ieder gegeven. Die afspraak hoort specifiek genoeg te zijn om per veld en per entiteit vast te leggen waar een wijziging mag ontstaan en welke versie als gezaghebbend geldt. Een algemene uitspraak dat systemen “synchroniseren” laat precies de beslissingen open die tijdens hybride exploitatie tot afwijkingen leiden.

Een consultancy die deze complexiteit begrijpt, legt daarom strikt data-eigenaarschap vast en koppelt daaraan deterministische reconciliatieregels. Deterministisch betekent hier dat dezelfde afwijking volgens een vooraf bepaalde regel tot dezelfde uitkomst leidt. Daarmee wordt voorkomen dat systemen elkaar via synchronisatielussen blijven bijwerken of dat een willekeurige laatste wijziging een andere, geldige versie verdringt. Deze regels horen vóór de bouw gevalideerd te zijn, omdat zij bepalen hoe de twee omgevingen zich tijdens de overgang tot elkaar verhouden.

Ontbreekt deze afspraak, dan kunnen zowel het legacy-systeem als de cloud-app gelijktijdig dezelfde records wijzigen. Reconciliefouten worden dan zichtbaar in operationele rapportages: niet omdat een rapportage op zichzelf onjuist is ontworpen, maar omdat de onderliggende gegevens geen eenduidige versie meer hebben. Voor management ontstaat vervolgens onzekerheid over de betrouwbaarheid van de uitkomsten. In het beschreven patroon kan dat vertrouwen zo ver dalen dat het moderniseringstraject wordt stopgezet.

Er ligt ook een afweging onder deze inrichting. Maatwerk-isolatie kan nodig zijn om systemen gecontroleerd naast elkaar te laten werken. Een volledige wijzigingsstop op het legacy-systeem verlaagt daarentegen het integratierisico, maar kan de operationele wendbaarheid van de organisatie maandenlang beperken. De keuze is dus niet eenvoudigweg “isoleren of bevriezen”. Zonder vastgelegde leidende bron en reconciliatieregels blijft die keuze operationeel niet uitvoerbaar.

Controlelijst voor bewijs vóór goedkeuring van de roadmap

Beoordeel een consultancyvoorstel op de sporen die het onderzoek naar de live integratieomgeving heeft achtergelaten. De volgende punten maken zichtbaar of de fasering is gebaseerd op waarnemingen uit de bestaande keten, inclusief afwijkingen, of vooral op de beschikbare documentatie.

  • Onderzoek naar feitelijk runtimegedrag. Laat characterisation testing en runtime-observability concreet terugkomen in de discovery-artefacten. Logs en database-profiling moeten zijn ingezet om actuele transactiestromen te volgen, niet alleen om bestaande koppelingen te inventariseren. Zo kan de consultancy onderbouwen hoe zij verborgen netwerktriggers en batchprocessen heeft opgespoord die in statische documentatie ontbreken.
  • Een integratiematrix die de afwijkende verwerking meeneemt. Controleer naast de bekende interfaces ook de datastroomdiagrammen. Daarin moeten handmatige workarounds, afgekeurde transacties en andere uitzonderingspaden naast de nominale route staan. Wanneer alleen de standaardverwerking is gemodelleerd, blijft onzichtbaar welke stappen buiten het beoogde proces plaatsvinden en dus ook buiten de gefaseerde overgang kunnen vallen.
  • Beslismomenten per afgebakende fase. Neem alleen modulaire Go/No-Go-momenten als bewijs op wanneer ze gekoppeld zijn aan vooraf vastgelegde, objectieve acceptatiecriteria. Het voorstel moet per fase duidelijk maken welke uitkomst nodig is voordat de volgende stap kan beginnen. Daarmee is niet alleen de planning zichtbaar, maar ook de grond waarop een fase wordt voortgezet of gestopt.
  • Een rollback-scenario als onderdeel van de fasebeslissing. Per fase hoort een gedefinieerd rollback-scenario beschikbaar te zijn. Beoordeel dit samen met de acceptatiecriteria: als de vereiste uitkomst niet is aangetoond, moet duidelijk zijn wat de terugvaloptie is. Een beoogde livegang zonder deze koppeling laat niet zien hoe de overgang wordt beheerst wanneer een fase niet aan de vooraf bepaalde voorwaarden voldoet.

Bronnen bij deze sectie: gapvelocity.ai

Rode vlaggen: vaste schattingen, uitgestelde interfaces en vage grenzen

Deze signalen wijzen erop dat een voorstel de onbekende delen van legacy-integraties pas tijdens de uitvoering wil uitzoeken.

  • Vaste uren en een harde opleverdatum vóór technische toegang. Een raming verdient extra onderzoek wanneer de partij nog geen toegang heeft gehad tot bronsystemen, databaseschema’s en actuele interfaces. Dan is niet duidelijk welke koppelingen en technische afhankelijkheden de fase daadwerkelijk raakt. Het probleem is niet dat er wordt geraamd, maar dat de raming als definitief wordt gepresenteerd voordat de omgeving technisch kan worden onderzocht.
  • Een migratiefase zonder scherp begrensde functie. Bij het Strangler Fig-patroon wordt een afgebakend functioneel proces stapsgewijs vervangen. De nieuwe uitvoering kan parallel worden getest, terwijl de bestaande legacy-functionaliteit beschikbaar blijft als operationele terugvaloptie. Blijft onduidelijk welke functie in deze fase overgaat, hoe parallel testen plaatsvindt of wanneer de oude route beschikbaar blijft, dan verschuift het overgangsrisico alsnog naar één moment.
  • Grenzen aan de integratie zijn niet uitgewerkt. Vraag om expliciete scope-uitsluitingen, foutafhandeling en de verantwoordelijkheden van externe softwareleveranciers. Wanneer dead-letter queues en retries onderdeel zijn van de gekozen foutafhandeling, moeten ook die concreet zijn benoemd. Zonder deze afbakening is bij een fout in een koppeling niet vooraf duidelijk wie onderzoekt, herstelt of opvolgt.
  • De fase beschrijft alleen de normale route. Een voorstel moet ook aangeven wat er gebeurt bij uitzonderingen en welke handmatige afhandeling buiten de geautomatiseerde verwerking valt. Ontbreekt dat, dan is niet toetsbaar of het afgebakende proces werkelijk parallel kan draaien of dat afwijkende gevallen de terugval naar legacy alsnog noodzakelijk maken.

Bronnen bij deze sectie: microsoft.com, gapvelocity.ai, sphereinc.com

Snelle start of tijdelijke tussenlaag: welke afweging ligt eronder?

Een snelle start en een tijdelijke tussenlaag beantwoorden verschillende vragen: de eerste laat zien dat een nieuwe Microsoft 365-frontend zichtbaar kan worden gemaakt; de tweede bepaalt hoeveel risico de overgang naar die frontend in de bestaande keten legt.

  • Is een snelle Microsoft 365-quick win voldoende bewijs van beheerste modernisering?
    Nee. Een Microsoft 365-frontend kan snel beschikbaar zijn en waarde leveren aan gebruikers, maar dat bewijst vooral de zichtbare oplevering en gebruikersadoptie. Het is geen vervanging voor bewijs over de achterliggende integratie. In een voorstel is het daarom relevant om de verantwoordelijkheid voor de frontend, de legacy-koppelingen en de acceptatie van de volledige keten afzonderlijk te benoemen. Zo blijft helder welk bewijs de quick win levert en welk onderzoek nog nodig is vóór een bredere livegang.
  • Waarom kunnen tijdelijke adapters of een Anti-Corruption Layer de extra inspanning waard zijn?
    Tijdelijke adapters en een Anti-Corruption Layer verhogen de initiële ontwikkelkosten, omdat er een extra voorziening tussen nieuwe workflows en legacy-integraties wordt gebouwd. Die kosten staan tegenover het risico van een big-bang-overgang, waarin bedrijfsprocessen tegelijk van bestaande naar nieuwe functionaliteit moeten overschakelen. De tussenlaag maakt het mogelijk om die overgang niet volledig van één omschakelmoment afhankelijk te maken. Dat beperkt het risico dat bedrijfsprocessen uitvallen, zonder te suggereren dat tijdelijke voorzieningen iedere verstoring uitsluiten. De afweging is dus concreet: vooraf extra ontwikkelwerk voor de overgang, of een grotere afhankelijkheid van een foutloze volledige overstap.

Bronnen bij deze sectie: microsoft.com, microsoft.com, gapvelocity.ai, sphereinc.com

De roadmap wordt pas toetsbaar wanneer onbekenden een eigenaar en bewijs krijgen

Een roadmapfase kan pas inhoudelijk worden beoordeeld wanneer onzekerheden niet verstopt zitten in algemene formuleringen, maar expliciet zijn geregistreerd en gekoppeld aan concrete validatieactiviteiten. Een Assumptions & Unknowns Register maakt dat mogelijk. In zo’n register staat per fase welke aanname nog openstaat, welk onbekend gegeven nog moet worden vastgesteld en welke activiteit daarvoor het bewijs moet leveren. Daarmee ontstaat een andere vorm van voortgang: niet alleen het afronden van geplande werkzaamheden, maar het aantoonbaar verkleinen van wat nog niet bekend is.

Dit register heeft pas waarde naast tastbare discovery-artefacten. De integratiematrix maakt zichtbaar wat de bron en het doel van een verbinding zijn, welk protocol wordt gebruikt en welk volume eraan verbonden is. Datastroomdiagrammen geven vorm aan de route die gegevens afleggen. Een overzicht van handmatige workarounds voegt de verwerking toe die niet vanzelf uit een technische interface blijkt. Samen maken deze artefacten het mogelijk om aannames te toetsen aan de feitelijke keten, in plaats van aan een beperkte beschrijving van de gewenste situatie.

De goedkeuringsgrens ligt daarom bij de combinatie van expliciete onbekenden, benoemde validatieactiviteiten en zichtbare keteninformatie. Alleen een register zonder integratiematrix en datastroomdiagrammen toont niet waar een onzekerheid operationeel doorwerkt. Alleen technische artefacten zonder geregistreerde onbekenden maken evenmin duidelijk welke delen nog moeten worden bewezen voordat een volgende fase doorgaat. De twee bewijssoorten vullen elkaar aan: het register legt vast wat nog niet zeker is; de discovery-artefacten tonen waar dat onzekerheidsgebied zich bevindt.

Ontbreekt die combinatie, dan blijft onduidelijk welke verborgen afhankelijkheden later extra uitvoeringswerk kunnen veroorzaken. Dat raakt meer dan de planning: vertraging kan de operationele verwerking onder druk zetten en aanvullende werkzaamheden kunnen de financiële ruimte van het traject aantasten. Een overtuigende planning compenseert dit gebrek aan bewijs niet.

Bronnen bij deze sectie: gapvelocity.ai