Book Review: Introducing EventStorming

Introducing EventStorming

Author(s)

Alberto Brandolini


My Rating

star star star star star
"The Ultimate Introduction to Collaborative Domain Modelling"

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.

Why EventStorming?

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.

Highlights

"Complexity pulls for context aware learning and decision making, but silos partition awareness and make it incredibly costly to put the pieces of the puzzle together in order to find solutions to non trivial problems."


"the business flow in enterprises isn’t limited to a single area. In fact it normally spans across several areas of expertise"


"it is embarrassing to notice how little we improved in terms of optimizing the learning side. It is still the norm in large enterprise software to have segregated software developers with only limited access to first-hand feedback and real users, and a plethora of intermediate roles to act as proxies. Learning isn’t really supposed to happen."


"decades of boring dysfunctional meetings have taught us that just gathering people, without a specific format, will lead you nowhere. Good news is we do have a way for addressing this problem, and it’s called Big Picture EventStorming."


"I consider “getting the boundaries right” the single design decision with the most significant impact over the entire life of a software project. Sharing a concept that shouldn’t be shared or that generates unnecessary overlappings between different domains will have consequences spanning throughout the whole sociotechnical stack."


You may also like...

Domain Driven Design

Domain Modeling Made Functional

Beginning ASP.NET Security

My Books

Designing Autonomous Teams and Services
Patterns, Principles and Practices of Domain-Driven Design