Naar de inhoud
Menu
CV downloaden (PDF)

Migratie van een CRM-platform

De on-premises Microsoft Dynamics CRM van een klant uit de onderwijssector overbrengen naar Dynamics 365 en Dataverse in de cloud.

Rol
Technical Software Engineer
Sector
Onderwijs
Periode
2026 – nu
Stack
Microsoft CRM (on-premises) · Dynamics 365 · Dotnet · Dataverse · Azure · SQL Server
Laatst bijgewerkt
oktober 2026

De aanleiding

De klant, een organisatie voor volwassenenonderwijs, werkt met een on-premises installatie van Microsoft Dynamics CRM. De ondersteuning voor die versie loopt af en het onderhoud van de eigen infrastructuur wordt steeds duurder. Daarom verhuizen het systeem en al zijn gegevens naar Dynamics 365, met Dataverse als dataplatform in de cloud.

Mijn rol

Ik werk als consultant van Cegeka mee aan het project, in een team van een achttal mensen: consultants van Cegeka en sleutelfiguren bij de klant.

Ik ben betrokken van planning en analyse tot het uitvoeren en valideren van de dataladingen. Concreet betekent dat:

  • migratiescripts en -tools schrijven die de gegevens omzetten en in Dataverse laden
  • het oude datamodel mappen op het nieuwe, inclusief relaties tussen entiteiten die het oude systeem nooit expliciet bijhield
  • de gegevens consistent en correct houden, met tests en documentatie
  • problemen oplossen wanneer ze opduiken, en afstemmen met de klant en de rest van het team

Aanpak

Gegevens gaan van de on-premises CRM via een migratiestap naar Dataverse.On-premises Dynamics CRMDataverse (Dynamics 365)Migratie

Entiteiten mappen

Bij het mappen van entiteiten beslis je waar elke tabel en elk veld uit het oude systeem terechtkomt in het nieuwe datamodel, en of het nog nodig is.

Er waren een 130-tal entiteiten betrokken, goed voor het grootste deel van het oude datamodel. De meeste tabellen en velden konden we één op één mappen op entiteiten en attributen in Dataverse. Voor een paar tabellen was maatwerk nodig, omdat de datamodellen van beide systemen verschillen. Het functionele mappen deden vooral de analisten; het ontwikkelteam zette dat om in de scripts en tools die de gegevens laden.

Opschonen

Opschonen betekent gegevens die niet voldoen aan de regels van het nieuwe systeem rechtzetten of verwijderen.

De gebruikelijke verdachten waren dubbele records, ontbrekende verplichte velden en inconsistente formaten. Die pakten we vóór het laden aan met een mix van geautomatiseerde scripts en manuele controle. Het was een klein deel van het totale werk, maar het telt mee voor de kwaliteit van de gegevens in het nieuwe systeem.

Standaardtabellen met ingebouwde logica

Sommige standaardtabellen van Dynamics hebben ingebouwde plug-ins die je niet kunt uitschakelen. Die plug-ins verwachtten gegevens die onze standaard migratieaanpak niet aanleverde, waardoor de import in die tabellen mislukte.

In plaats van ze toch door de standaardprocedure te duwen, kregen die tabellen een eigen aanpak: we voegden een aantal importfasen samen zodat samenhorende gegevens tegelijk binnenkwamen, en we koppelden records op eigen externe sleutels in plaats van de gebruikelijke.

Rollen van contactpersonen afleiden

Het oude systeem hield rollen zoals leerkracht of cursist niet rechtstreeks bij. Die moesten we afleiden uit bijna 19 regels en criteria.

Samen met de analisten zocht ik naar haalbare manieren om elke rol te herkennen. Daarna implementeerde ik de regels, schreef ik er tests voor en documenteerde ik ze. Om het resultaat te controleren, kozen we een vaste groep referentiecontacten waarvan we de volledige geschiedenis in het oude systeem precies kenden. Kwam elk van die contacten met de verwachte rollen uit de migratie, dan wisten we dat de regels klopten.

Stand van zaken

In oktober 2026 loopt de migratie nog; de go-live is gepland voor later dit jaar.

Wat ik leerde

Grondig mappen en opschonen vóór de eerste lading loont. Wie de verschillen tussen de datamodellen goed begrijpt en met kwaliteitsvolle gegevens vertrekt, krijgt tijdens de migratie zelf veel minder problemen.

Een kleine groep referentierecords met een gekende geschiedenis is een betrouwbare manier om complexe regels te toetsen op gegevens die je niet met de hand kunt nakijken.

Goede communicatie tussen analisten, developers en de klant was essentieel om de migratie goed te coördineren en problemen snel op te lossen.

Terminalmodus aan. Voer de code opnieuw in om af te sluiten.