De vraag
Een internationale producent met meerdere productielocaties werkte al jaren met een dataomgeving die organisch was gegroeid: verschillende scripts, rapportages en toevoegingen door de tijd heen. Dat gebeurt in vrijwel elke organisatie die lang genoeg bestaat. De vraag die overbleef: kunnen we dit weer begrijpelijk en onderhoudbaar maken, zonder daarbij blijvend afhankelijk te worden van één externe partij?
Wat ik bouw, en hoe
Ik bouw de nieuwe omgeving in Microsoft Fabric, met duidelijke bronze-, silver- en gold-lagen, eenduidige naming en doorlopende controle op datakwaliteit. Minstens zo belangrijk is de manier van werken: alles vanuit één repository, met versiebeheer en code reviews, zodat wijzigingen navolgbaar blijven. Twee interne medewerkers bouw ik hierin mee, zodat kennis van de organisatie bij de organisatie zelf blijft.
De vraag
Een internationale producent met meerdere productielocaties werkte al langere tijd met een dataomgeving die organisch was gegroeid: verschillende scripts, rapportages en toevoegingen door de jaren heen. Dat gebeurt in vrijwel iedere organisatie die lang genoeg bestaat — iedere afzonderlijke keuze was op het moment zelf waarschijnlijk logisch. De vraag die overbleef was simpel maar niet klein: kunnen we dit weer begrijpelijk en onderhoudbaar maken, zonder daarbij afhankelijk te worden van één externe partij?
Eerst de structuur, dan de tool
Omdat de organisatie sterk in het Microsoft-ecosysteem werkt, koos ik voor Microsoft Fabric als basis. Niet omdat Fabric overal de juiste keuze is, maar omdat het hier aansluit bij wat er al staat. Belangrijker dan de tool is de structuur eromheen: duidelijke bronze-, silver- en gold-lagen, vaste plekken voor mappings, eenduidige naming, controle op datakwaliteit, star schemas voor rapportage en consistente semantic models. Zo blijft de logica op één plek te vinden in plaats van overal opnieuw verspreid.
Development als softwareproject
Een belangrijk onderdeel van de aanpak is dat de omgeving zoveel mogelijk vanuit één repository wordt ontwikkeld. Daardoor gelden normale software-developmentprincipes: Git, versiebeheer, code reviews, reproduceerbare wijzigingen, consistente definities en automatische controles. Dat maakt ook moderne AI-development tooling bruikbaarder. Een agent hoeft niet alleen naar één losse SQL-query te kijken, maar kan context uit een groter deel van het project gebruiken — om bestaande definities op te zoeken, measures te schrijven, consistentie tussen rapportages te controleren of te achterhalen waar een dataveld vandaan komt. AI wordt hiermee geen product dat aan de klant wordt verkocht, maar een manier om development sneller en toegankelijker te maken.
Lineage die meegroeit
Omdat de onderdelen samen in een gestructureerde developmentomgeving staan, kan ook lineage automatisch worden opgebouwd: bron → transformatie → tabel → semantic model → rapport. Bij developmentwijzigingen wordt die informatie opnieuw gegenereerd. Daardoor is veel eenvoudiger te beantwoorden: "waar komt dit cijfer eigenlijk vandaan?" of "welke rapportages worden geraakt wanneer we deze tabel wijzigen?".
Kennis die bij de organisatie blijft
Misschien wel het belangrijkste onderdeel van de opdracht is niet technisch. Twee interne medewerkers bouw ik gedurende dit traject mee, zodat ze de omgeving zelf steeds beter begrijpen en kunnen uitbreiden. Moderne development tooling helpt daarbij: ze kunnen vragen stellen over code en structuur, sneller bestaande logica doorgronden en zelf nieuwe onderdelen bouwen. Externe kennis blijft nuttig voor specialistische stukken, maar de dagelijkse informatiebehoefte hoeft niet meer via mij te lopen.
Dit traject loopt nog. Zodra het is afgerond deel ik hier graag de concrete resultaten — voorlopig laat ik het bij de aanpak, om zorgvuldig te blijven met de details van een lopend klanttraject.
Techniek
Herkenbaar vraagstuk?
Herken je dit soort groeipijnen in je eigen dataomgeving? Ik denk graag mee over structuur, kwaliteit en eigenaarschap.
Bespreek je vraagstuk