The source of many a light-hearted joke, after more than three years in the making, this book is still not finished. However, it is sufficiently complete and polished that I refer back to it so frequently and always gain useful insights that I wholeheartedly recommend you read it, even in its current state.
Sometime around early 2014 I remember witnessing EventStorming for the first time. Instantly I realised it filled a humongous void in the software development space. That void is the absence of techniques aiding software developers in understanding the problem domains they are working in.
Since 2010 I had learned about a concept called Domain-Driven Design. The principle of this movement is to encourage software developers to spend more time understanding the business problems they are solving in software, so that the software better supports the business needs in the short-term, and especially in the long-term so that software can evolve with the business.
The problem I had always experienced with DDD was that I didn't know how to learn about the business domain. I didn't know what questions to ask of business people or what techniques to use for extracting knowledge from them. So for me and many others in the DDD space, DDD was just another excuse to get excited by technical concepts rather than business ones - totally missing the point.
EventStorming cures this problem, and somewhat emphatically. I have now met hundreds of software developers who have used EventStorming to gain deeper understanding into their domain, by using the technique to collaborate with domain experts.
What is EventStorming?
Alberto Brandolini, the author of this book, is also the inventor of EventStorming. It starts off as a very simple technique - placing post-its on the wall depicting business processes as a time-line. The post-its are known as domain events. They describe a step in the business process in the past tense. For example: Coffee Ordered, Manufacturing Complete, or Funds Transferred.
The simplicity is key. In order to collaborate, a shared language between technical experts and domain experts is required. UML, BPMN and other formal techniques have a high learning cost which can acts as barriers to collaboration. EventStorming is domain events in a timeline. The learning curve is seconds enabling everyone to contribute immediately.
EventStorming optimises for collaboration and inclusion at the costs of perfection and precision. But as a workshop progresses, perfection and precision are added. The orange domain event post-its are supplemented with a variety of colours indicating people, external systems, policies, and anything else a group wants to represent.
With the business processes laid bare on the wall for all to see and comprehend, the magic of EventStorming kicks in. Software developers can extract information about the business which helps them to design better systems. Problems in the business process are accentuated and remedied. Opportunities for business growth are identified. In fact, the benefits you can gain by visualising a system in a shared language and gathering the right people are near endless.
More than Just EventStorming
What you are going to get from this book is more than just EventStorming. While this book will give you:
- Prescriptive EventStorming recipes
- Tips and tricks for running EventStormig sessions
- EventStorming patterns (different ways to visually model a domain)
- Examples of EventStorming for different scenarios
- Techniques for using EventStorms to shape your software architecture
What you'll also get from this book is an insight into the mind of a unique modelling talent. There are countless examples in this book where Alberto explains why a certain technique is effective or necessary. This can range from insights into the complex nature of systems, the ambiguous nature of language, or the psychological nature of human beings.
The learnings are so powerful and so influential on your ways of thinking that you will be able to model any system, whether you apply EventStorming recipes directly or build your own techniques based on Alberto's prodigious principles and insights.