~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