~6 Hours not including breaks
Facilitator, Product Owner, User Experience Design, Analysts, Developers, Testers, Security, Operations / Infrastructure
This practice is part of: Domain Driven Design.
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
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
- 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
- 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