What is Event Storming?
Event storming is a term you may hear from time to time in business discussions. Those in-the-know get it, and they know it’s powerful. Those who haven’t heard of it may feel like they’re left out. So… what is event storming?
Simply put, event storming is a series of facilitated team exercises to discover and explore complexities, and eventually, identify an efficient solution. Created in the early 2000’s by Alberto Brandolini, event storming was born out of his experiences in the software industry, and a synthesis of other business modelling principles and domain-driven-design (DDD), where domain is defined as a sphere of activity or knowledge (i.e. software development, marketing, customer service, etc).
Although the technique is most commonly used in software development teams, it is highly applicable and relevant to business teams because the exercises reveal all aspects of the problem that may be hidden in organizational silos. When performed correctly, event storming can also dramatically accelerate team processes by revealing gaps and provide a holistic picture.
Putting Event Storming into Practice
Event storming is a great tool for tackling a complicated business problem. A primary use case in software development is when faced with modernizing an application that is mission critical to the business. How do you plan for bringing that application to a modern state?
At Dev9, we use event storming when we are faced with breaking down Monolithic architecture (i.e. legacy software platforms), and creating microservices (i.e. a series of smaller applications). Before we can start developing these microservices, we utilize event storming to build comprehensive business flows in hours, instead of weeks. After a session, teams leave with a rounded understanding of processes, mutual business domain understanding, and a foundation to begin domain driven design approaches.
Here are our tips for leading a productive event storming session:
1. Hack the Environment
- Here’s what we bring to every event storming session:
- Large sticky notes with at least 3 colors
- Assign each color to a relevant subject. You’ll want 1 color each for: domain events, external factors, and hotspots (areas of ambiguity or conflict)
- Roll of butcher paper
- Box of sharpie or felt-tipped markers
- Masking tape
- Easel (optional) and Poster-board with quick reference instructions
- Star stickers or small bookmark sticky tabs
Move chairs and tables away from the wall where the action is to take place. Next, masking tape is used to put up a long sheet of paper. This will be the workspace for the team to add their work and draw context bounds. It is important to have more room than you think you will need to accommodate growing domain events.
2. Set Very Basic Rules
Event Storming is unique in that each session is different than the last depending on the team and company. To get the most out of our sessions, we have discovered that using a very minimal set of rules and guidance allows for the flexibility teams need to model their business flows.
We like to start by explaining that the session will be open and collaborative, no sitting or standing off to the side, and we are interested in modeling the business flows by using the most basic business elements called “domain events” – defined as something meaningful that happens in the domain (i.e. “added ingredient”, “sent invoice”, “updated email”)
3. Begin Modelling with Domain Events
You’ll want to model with domain events because it is more constant than other possible variables. Domain events only change significantly when the business itself changes. Event storming with business domains will yield clearer and more reliable solutions.
When complete, your surface should look something like this:
Possible Outcomes and Benefits
At the end of the event storming event, you’ll have one of three possible outcomes: (1) a solution, (2) discover the problem lays somewhere else, or (3) learn that your problem is not solvable. Regardless of the outcome, there are several strong benefits to event storming. The obvious benefit is that you accelerate processes. Instead of spending weeks of effort and resources on an approach only to discover it’s not workable, you’ll develop an approach that is centered on the domain. Domain-focused approaches will also force your team to learn more about the domain – its industry, language, and problems – which will lead to more customized and relevant solutions. Ultimately, event storming creates a large visual map to achieve transparency in business flows, goal alignment, mutual domain understanding, and a domain driven approach.
Try it Out!
At Dev9, our goal is to streamline processes and create better business results. Whether you’re modernizing a software application, or looking to gain new perspective on an operations procedure, event storming can shed light on the current state that can inform where you go in the future.
This blog was originally featured on WTIA.