Modelgedreven werken maakt het verschil voor wie gestructureerd en efficiënt dataoplossingen wil creëren. Maar om dit effectief te kunnen doen, heb je modelleersoftware nodig die aan specifieke eisen voldoet. Willem Otten, mede-eigenaar van CrossBreeze, legt in deze blog uit waarom wij besloten onze eigen oplossing, CrossModel, te ontwikkelen.
De kern van modelgedreven werken
Modelgedreven werken betekent dat je software genereert op basis van modellen. Alleen als je alles heel gestructureerd en goed in je model kunt vastleggen, kan er een goed product uitrollen aan het eind. Je maakt met je modelleertool namelijk een blauwdruk, zodat het fabriekje waarover Harmen het had in een eerdere blog geautomatiseerd software kan maken. De kwaliteit van die blauwdruk bepaalt voor een groot deel ook de kwaliteit van het product dat eruit komt. Als je kijkt naar de inspanningen van een dataproject, is het niet verrassend dat de meeste effort naar het modelleren en specificeren gaat. Bij projecten die we doen bij bijvoorbeeld banken gaat dat al snel richting 80 procent. Het is dus zaak om dat proces heel goed te ondersteunen met een modelleeromgeving waarmee modelleurs prettig kunnen werken. Het moet niet tot irritaties leiden omdat de software niet goed werkt en je wilt ook niet dat er uiteindelijk toch nog veel specificaties in Word, Excel of Confluence worden vastgelegd omdat men ze niet op een goede manier kwijt kan in de modelleersoftware.
Structuur én dataflow
Een ander belangrijk aspect is dat modelleren verder kan gaan dan alleen het ontwerpen van datastructuren. Veel mensen denken bij logisch modelleren vooral aan entiteiten, attributen en relaties maar als je echt wilt profiteren van de voordelen van een modelgedreven aanpak dan zou je ook je gegevensstromen op logisch niveau willen modelleren. Je hebt dus een modelleertool nodig waarmee je zowel structuur als dataflow kunt specificeren.
Het belang van goede modelleersoftware
Samenvattend: je wilt dat modelleersoftware aan een aantal vereisten voldoet. Het moet gebruiksvriendelijk zijn, je moet met meerdere modelleurs parallel aan een model kunnen werken en het moet uitbreidbaar zijn. Zo kan het zijn dat je voor een project extra kenmerken wil kunnen vastleggen in een model, bijvoorbeeld de dataeigenaar van een entiteit of een specifieke classificatie. In een andere situatie is het misschien weer gewenst dat de diagrammen op een specifieke manier getoond kunnen worden. Dat verschilt per organisatie en dat is prima, maar het betekent wel dat je modelleeromgeving dat moet ondersteunen. Een andere vorm van uitbreidbaarheid is het kunnen toevoegen van specifieke validaties. Neem bijvoorbeeld naamgevingsconventies. Organisatie A wil dat alle entiteiten altijd in het Engels zijn en met een hoofdletter beginnen, terwijl organisatie B wil dat alles in kleine letters is en in het Nederlands. In een ideale wereld helpt je modelleertool je om dit soort conventies te controleren of zelfs af te dwingen.
Beperkingen van bestaande tools
Bij CrossBreeze hebben we met verschillende modelleertools gewerkt, zoals Erwin Data Modeler, SAP PowerDesigner en Enterprise Architect. En waar PowerDesigner de enige tool is die voor ons voldoende functionaliteit biedt op het vlak van dataflowmodellering en aanpasbaarheid, lopen we ook hier steeds vaker tegen de grenzen aan. Bovendien is er geen roadmap meer voor verdere ontwikkeling. Dus op dit moment lijkt het erop dat PowerDesigner over een jaar of vier niet meer ondersteund zal zijn. Andere tools in de markt ondersteunen wel de structuur, maar niet de dataflowmodellering of de uitbreidbaarheid die wij nodig hebben. Daarom zijn we vorig jaar gestart met het ontwikkelen van onze eigen modelleersoftware: CrossModel.
De ontwikkeling van CrossModel
Toen we in 2023 van start gingen hebben we eerst goed gekeken naar bestaande frameworks en libraries. Ook hier willen we namelijk niet het wiel opnieuw uitvinden, dus we proberen zoveel mogelijk in te zetten op bestaande componenten. Onze ambitie is om een community te creëren van modelleurs die ook behoefte hebben aan een ondersteunende modelleeromgeving en die ons willen helpen de software te verbeteren en uit te breiden.
We verwachten begin 2025 een betaversie van CrossModel beschikbaar te hebben voor een selecte groep testers. Wil je op de hoogte blijven van de ontwikkelingen en mogelijk deel uitmaken van de testgroep? Meld je dan aan via deze link.