Event Modeling, Event Sourcing en Vertical Slicing zijn concepten die zo eenvoudig zijn dat ze te mooi lijken om waar te zijn. Maar eenvoud is geen gebrek, het is een keuze. Als industrie hebben we de neiging om complexiteit te normaliseren. Embrace Simplicity staat voor het loslaten van die onnodige complexiteit en het vertrouwen op oplossingen die krachtig zijn in hun eenvoud.
AI versterkt dit alleen maar. Tools als Claude Code en GitHub Copilot genereren code sneller dan ooit, en met heldere specificaties en een solide architectuur benut je pas echt de volle kracht van AI. De bottleneck verschuift: niet meer code schrijven, maar weten wat je ontwikkelt en waarom. Organisaties die hier niet op inspelen, verliezen het op termijn van concurrenten die dat wel doen.
Event Modeling
Elk informatiesysteem is in essentie een verhaal: dingen gebeuren, in een bepaalde volgorde, met gevolgen, om een doel te bereiken. Event Modeling maakt dat verhaal zichtbaar. Je specificeert en ontwerpt je systeem op een tijdlijn, met slechts vijf bouwstenen en vier patronen. Het resultaat is een visuele blauwdruk die ontwikkelaars, stakeholders en AI dezelfde taal geeft. Lees het originele artikel waar de basis wordt uitgelegd.
Event Sourcing
Event Sourcing legt elke wijziging vast als een immutable event in plaats van alleen de huidige staat op te slaan. Zoals een grootboek in de boekhouding of versiebeheer in code. Je kunt altijd terugspoelen, elke staat reconstrueren en exact zien hoe je ergens bent gekomen. Zeker nu AI steeds meer code genereert, is een complete event history onmisbaar om grip te houden op wat je systeem doet en waarom.
Vertical Slicing
Met Vertical Slicing ontwerp en ontwikkel je per feature, van interface tot persistentie, in een compleet werkend geheel. Elke slice heeft zijn eigen model en is onafhankelijk te ontwikkelen, te testen en te deployen. Events vormen het enige contract tussen slices. Geen gedeelde modellen, geen koppeling. Principes als DRY moeten we durven loslaten. Teams werken autonoom en elke slice biedt AI precies genoeg context om geisoleerd en effectief te ontwikkelen.
Kennismaking
Remco Ruijsenaars
In ruim 20 jaar als freelance software ontwikkelaar heb ik bij tal van organisaties gewerkt en tientallen codebases en architectuurstijlen leren kennen. Een terugkerend patroon: de productiviteit is hoog aan het begin van een project, maar daalt naarmate de complexiteit groeit. De afgelopen 10 jaar heb ik intensief met Event Sourcing gewerkt. Na het lezen van het uitstekende boek Understanding Event Sourcing van Martin Dilger ben ik me gaan verdiepen in Event Modeling als manier om requirements helder te specificeren. Die combinatie bleek een perfecte match. Het event model vormt de basis voor een Vertical Slice architectuur zonder koppeling tussen componenten. Het resultaat: de productiviteit en voorspelbaarheid blijven constant, of je nu aan de tiende of de driehonderdveertigste feature werkt. Die overtuiging heeft me doen besluiten me volledig te richten op deze concepten, het liefst als docent en trainer.
Embrace Simplicity
Event Modeling Workshop
In de Event Modeling Workshop brengen we in één of twee dagen samen de werking van een systeem in kaart. Met Event Modeling leggen we het verhaal van jullie systeem vast op een tijdlijn: welke gebeurtenissen er plaatsvinden, in welke volgorde en met welk gevolg. Dit kan een casus zijn die ik aandraag, of een concreet vraagstuk dat binnen jullie organisatie speelt. Het resultaat is een gedeelde, visuele blauwdruk die ontwikkelaars, stakeholders én AI dezelfde taal geeft. En dat model is meteen veel meer dan documentatie: met het platform dat ik aanbied genereren we zo'n 95% van de implementatie rechtstreeks uit het event model. De werking goed in kaart brengen is daarmee verreweg het belangrijkste. Of je één of twee dagen kiest hangt af van de omvang en complexiteit van het domein dat je wilt doorgronden. Bij mijn kantoor in Driebergen werk ik met groepen tot 3 personen; op kantoor bij de opdrachtgever kunnen tot 10 deelnemers aansluiten. Je gaat naar huis met een compleet event model van je eigen domein: een gedeelde blauwdruk waar je direct mee verder kunt.
Voor De Haagse Hogeschool heb ik een breed semester van 30 ECTS ontwikkeld dat studenten voorbereidt op hun afstuderen en de professionele praktijk. Het gehele softwareontwikkelproces komt aan bod: van specificatie en architectuur tot security, DevOps en cloud deployment. De basis vormen Event Modeling, Event Sourcing en Vertical Slice Architecture, concepten die juist nu aan belang winnen omdat AI steeds meer van het codeerwerk overneemt en het vermogen om helder te specificeren en goed te ontwerpen het verschil maakt. Studenten werken met Axon Framework 5 in Java en bouwen in twee projecten een volledig systeem van ontwerp tot deployment. Op dit moment draait het semester voor de eerste keer.
Een voorbeeld van een portfolio-casus waarmee studenten werken is Social Supermarket, een platform waarmee een lokale stichting community-based hulpverlening digitaliseert. Bekijk de casus (Engels).
Inschrijven
Beide cursussen geef ik op aanvraag: individueel, met je team of incompany op locatie. Wil je een cursus volgen of heb je een vraag? Neem dan contact met me op via remco@embracesimplicity.org