A couple of years ago we tried a great technique of conducting exploratory meetings called EventStorming for the first time and we’ve been big fans ever since.
To help you understand what EventStorming is and why it’s so great, I shall remind you about an epic philosophical saga called “Business vs. Devs”. You see, for many years, developers were these guys working from the most remote corner of the office building.
As communication between the IT team and business was considered pointless. Project requirements were delivered to devs (and sometimes are still delivered like that) in the form of a pile of papers stating what needs to be done. Shall I explain that those are rarely ideal instructions…? Or that business people might not know clearly what needs to be done…? Or that developers hardly interpret those instructions correctly…?
Anyways, things were like that for quite some time. Enough to fill the world with clumsy chunky software systems created around those abstract requirements and teach us a lesson.
Luckily, a lot has changed since then. The IT field grew rapidly and became “cool” and “prestigious”. It attracted all sorts of people, including those who feel great understanding what they’re doing and why, and want to be a part of the business’s success. IT specialists became valuable players in projects. Now they not only execute the tech part but help identify business needs and shape software solutions around them.
This metamorphosis came with various tools and methods for effective collaboration between business and developers, such as Agile, Scrum, Domain-Driven Design, and eventually EventStorming. So now when you understand the mindset behind, let’s finally take a closer look at the latter and see how it helps to boost business-tech cooperation.
What is EventStorming?
EventStorming is a way of conducting a workshop for exploring complex business domains introduced by Alberto Brandolini in 2013.
The way it’s done might sound crazy: you need to gather all key stakeholders(!) who know stuff… in one room(!)… and sketch the existing system or a future project together(!) But the devil lies in details, so when you read more about it, the idea becomes not as suicidal as it might sound.
So how does EventStorming work?
There are several formats of EventStorming. Depending on the goals you want to achieve you might follow one or the other scenario. And as it’s not the point of this blog post to teach you how to do it (there are enough articles and books online about it), let me briefly explain the common distinctive features of this technique:
- All the right stakeholders that have knowledge of the business processes should be present (ideally up to 8 people).
- Instead of traditional brainstorming which usually leads to either people pretending to be dead by sinking deeper into their chairs or, just the opposite, them trying to dominate each other with self-praising statements, let them work separately at first on small clear tasks. That would be writing down on a sticky note key events in their domain using verbs in the past form. Alone, in silence, no mess, everyone has space to share their thoughts. Only after it’s done and all the papers are placed along the timeline on the wall, you try to make sense out of a combined picture together.
- Involve stakeholders by letting them tell their stories, instead of ‘squeezing’ some dry requirements from them. This way you have more chances to learn real business needs and bottlenecks as originally framed. You start hearing things like “oh, this thing never works” or “it always takes ages to get this done” or “I am new here, I have no idea what is this thing”. All these remarks should be noted down and added to the timeline on separate sticky notes of distinctive colour.
- You should not impose any assumed structure in the beginning and try to forget if one already exists. Instead, explore the business as a whole with all its parts and details, leaving all biases and assumptions aside. Only when all details are gathered you outline the structure.
All this makes the meeting fun and engaging. In fact, you won’t see people sitting during EventStorming, as just too much is going on around the timeline and everyone gets involved.
What are the benefits of EventStorming?
- EventStorming helps to get to know a complex system by exploring all parts of the domain.
- Through this workshop, you learn not only about the code and technical parts, but the business itself. EventStorming stimulates IT people to forget their tech jargon and start talking to business people in normal human language. You’ll be surprised how many discoveries and valuable contributions can be made when everyone speaks the same language.
- EventStorming helps to tune communication among various silos, not only between business and tech. At the end of the meeting, all the stakeholders know that together they are doing the right thing.
- It serves as an effective requirements gathering and helps to discover things that people tend to hide or not mention normally.
- By conducting EventStorming you can outline the logical structure of the system, distinguish separate parts that can be turned into modules or Microservices.
When to run EventStorming?
EventStorming can be used in a number of cases:
- When you want to explore the existing business domain (or its separate line) in order to understand what’s going on, identify bottlenecks or the most prominent parts for improvement.
- When you need to check the viability of a new project or services.
- When you want your software to be clean and easy-to-maintain.
- When a business grows rapidly.
As a software development company, we resort to the help of EventStorming for auditing existing but underperforming software of our new clients. During one of such audits (performed for Safe4) EventStorming helped identify major bottlenecks of the first generation of the client’s software.
In a nutshell, the system appeared to be hard to scale and adapt to the growing business needs (new functionalities, various integrations, flexible customizations, etc.) due to its monolithic architecture. We suggested building a new platform based on microservices. Such approach improved modularity and thus made the system flexible and easy to add on desired functionalities and integrations with various systems and devices. The new application has been successfully released in February 2019 and is ready to handle a large number of end-users ever since.
EventStorming is a relatively inexpensive instrument that does all the wonders stated above, which can be run with no prior major training or external facilitators involved. That being said, many companies tend to wait until real problems arise, hire consultants and let them introduce EventStorming, rather than try it on the request of their own IT team.
Our strongest “selling points” for EventStorming include:
- this technique is fast and fun: a half-day workshop compared to weeks or months of exchanging emails, writing requirements and so on;
- the possibility for everyone to learn something during the session.
I truly hope you enjoyed your reading.