Event Storming
A rapid, interactive approach to business process discovery and design that yields high quality models
What is Event Storming?
Event Storming is a rapid, interactive approach to business process discovery and design that yields high quality models. It was introduced in a blog by Alberto Brandolini1 in 2013. At the end of the event storm, you should have:
A shared understanding of the business process you are building as part of the project, including:
- which steps should be considered in scope and which steps are out of scope
- the users involved in the process
- an initial inventory of UI screens for the process
- an initial inventory of Aggregates2
A physical diagram with the above information, which can be transferred to a digital format
Learn more by listening to the Open Practice Podcast episode! 🎙️🌠
Why use Event Storming?
It is significantly faster, and a heck of a lot more fun, than traditional process modeling techniques. You’ll be surprised how much you accomplish in a short period
It establishes a common and shared language between Business & IT
It sets focus in terms of scope and boundaries
The technique is iterative, which allows facilitators to:
- slowly adding more detail in each session as to not overwhelm participants.
- pick and choose participants by session
- provide cognitive breaks (participants will get tired)
It forces important questions about the customer journey early in the ideation process
It gives you the big picture of the solution by placing technical implementation details in context of the business process
It is particularly effective way to kick start Domain Driven Design3
How to do Event Storming?
- Business Team maps out the Business Process from a Users perspective
- The Best way is to start with the ‘happy scenario’, where the User successful reaches their goal (eg Student buys movie tickets online)
- In addition, the Business Team identifies which data is required in order to make the business flow successful (eg Movie Name, Session Time, Student discounted price)
- Once the Business Process has been defined, the IT team will join to provide additional information in forms of Events, Data and User Interfaces. This will establish a shared understanding of what is required
- The architect will start grouping common objects in order to define the microservices to be developed
Related Practices
- User Story Mapping is a great way to create an Agile delivery plan for a business process designed with Event Storming
- Journey Mapping4 can provide a high level overview of the business process before using Event Storming to get into the details
- Event Storming will identify key views for your user interface, which can jump start Site Mapping5 or Wireframing6
Facilitation Materials Needed
- Drawing paper roll7. Stickies tend to fall off walls otherwise.
- 2 different colors of wide format sticky notes like the 4x6 sticky notes8
- 4 different colors of small square sticky notes like the 3x3 sticky notes9
- Permanent Markers for the stickies
- Whiteboard markers if you use whiteboard roll, or charcoal pencils if you use drawing paper. Theses are useful to jot adhoc lines/arrows/annotations
Tips for Remote Sessions
- All the usual pre-requisites about having the right participants representing different areas of expertise still apply. However, consider the overall number of participants for a remote session as too many can be hard for conversation flow and for everyone to be able to contribute.
- Event Storms can take time to create (depending on the complexity of the scenario). Plan for multiple remote sessions with virtual breaks in each session and set this expectation with participants.
- If participants are new to Event Storming, provide reference information (such as this page) and examples of complete Event Storms prior to the session. Consider holding a short Event Storming introduction session prior to the main session if this is feasible.
- Prepare an online collaboration board with an Event Storm key and space set out to create the Event Storm. Place an example picture of a completed Event Storm on the board so that participants can visualise what they are working towards.
- If enough is known about the scenario before the session, consider preparing an event spine beforehand to save time and provide a skeleton to start with. This can also help to orientate participants not familiar with the practice. Explain that this is just a starting point and anything can be changed during the session.
- Ensure cameras are switched on where possible as this encourages participants to stay engaged and makes conversation easier. You want active participation to provide as much information and questions as possible.
- The facilitator(s) should ask open questions and leave a silence if required to encourage participation.
- The facilitator(s) should make extra effort to engage all participants. It is easy for participants of remote Event Storming to disengage or go into view only mode so active prompts are likely to be required.
- Ideally you want everyone involved in the Event Storm to be able to interact with the board. However, if Event Storming is a new technique for participants and doing it remotely isn’t easy, consider to start interaction among facilitators (at least until participants have basic familiarity with the practice).
- Make sure you walk through the Event Storm (forwards and backwards) regularly, perhaps more regularly then normal, to make sure everyone shares understanding and to prompt for input.
- For large Event Storms consider breaking into groups using more than one remote session where each session works on a different part of the Event Storm. Make sure to check in as a whole group regularly in order to sync on progress and rotate groups and areas worked on.
Want to run this practice remotely? Here’s some help to jump start your session 💻🙏
External Resources
- Alberto Brandolini’s original blog
- Aggregates as defined by Martin Fowler
- Vaughn Vernon’s Domain Driven Design Distilled. Chapter 7 is of particular interest.
- Journey Mapping by Design Kit
- Site Mapping by 18f
- Wireframing by 18f
- Drawing Paper example
- 4x6 sticky notes example
- 3x3 sticky notes example
- Double Diamond design model
- Session at Red Hat Summit 2017
- Blog explaining how event storming, DDD and reactive systems relate
- Alberto Brandolini’s Event Storming book
- Alberto Brandolini’s 50,000 Orange Stickies Later from Explore DDD 2017. Great overview of how the technique has evolved, tips for running a session, and articulation of the different types of sessions to run.
- An excellent example of Event Storming during a Red Hat Open Innovation lab “Using ‘Event Storming Practice’ @ Heritage Bank”
- A facilitators recipe for Event Storming
- Alberto Brandolini’s Remote Event Storming guide