Modelling with events
Many design mistakes start before the code, when the team doesn’t yet understand the process it’s building. Modelling with events means describing a process as a sequence of facts, like “reservation confirmed” or “payment failed”, and talking it through with the people who know the business. You’ll learn how to run such sessions so they bring out rules and open questions instead of getting stuck.
The first article is a talk on modelling mistakes to avoid. The second shows how to combine EventStorming, a workshop that maps a process on sticky notes, with other techniques. The next two are about running a session: marking disagreements and unknowns instead of arguing them out, and letting people think alone before the group discussion so the loudest voice doesn’t decide. The last one turns a list of requirements into code.
Read them in order.

Event modelling anti-patterns explained
2024-04-07Have you heard about Passive Aggressive Events or CRUD sourcing? Or maybe about the Clickbait event? If you don’t, you better check the talk I gave at Kafka Summit 202…
On mashing up modelling techniques for fun and profit
2026-05-18Many people believe there should be one, and only one, way to model software. I think differently, I like to mix different techniques. For instance, I believe there’s a…
The Underestimated Power of Hot Spots and Notes in EventStorming
2025-05-19I’ve been facilitating the EventStorming sessions for years now, and something keeps catching my attention. While teams naturally focus on mapping out those orange event…
Start Alone, Then Together: Why Software Modelling Needs Solitary Brainstorming
2025-06-23Watch a jazz quartet improvise, and you might think they’re making it up as they go. They’re not. Every riff builds on practised scales and learned patterns. The…
How to effectively compose your business logic
2022-07-20Let’s say that we’d like to implement Shopping Cart. We have the following requirements: The customer may only add a product to the shopping cart after opening it. When…