Event Storming
5 August 2024
updated at: 6 November 2026
Business processes are becoming more complex and interconnected. Managing them effectively requires a deep understanding of their structure and dynamics. Traditional analysis and modeling methods are often too slow or not flexible enough for fast-changing conditions. Event Storming, an approach created by Alberto Brandolini, emerged as a response to this problem and has become popular among software developers and business process specialists. Let's look at what the method is and why it works so well.
What is Event Storming
Event Storming is an intensive workshop that brings together people from different parts of an organization, from developers and analysts to domain experts and business stakeholders. Participants jointly build a visual model of business processes, using colored sticky notes to represent different elements of the system.

The key idea of Event Storming is to focus on the events that happen in the system rather than on specific actions or data structures. This lets participants quickly build a shared picture of the business processes and identify potential problems or areas for improvement.
Benefits
Event Storming has a number of benefits that make it an effective tool for analyzing and modeling business processes:
- Fast shared understanding: The method helps participants with different backgrounds and knowledge quickly reach a common understanding of business processes;
- Uncovering hidden problems: Visualizing processes helps reveal non-obvious problems and bottlenecks in the system;
- Encouraging creative thinking: The interactive format helps generate new ideas and solutions;
- Better communication: Event Storming improves communication between departments and stakeholders;
- Flexibility and scalability: The method can be used both to analyze individual processes and to model entire systems.
Event Storming structure
Event Storming uses a set of elements to model business processes:
1. Domain event
Domain events are the key elements of Event Storming. They represent significant state changes in the system and are usually shown on orange sticky notes.
Examples of domain events: "Order placed," "Payment received," "Item shipped."
2. Commands
Commands are actions that trigger domain events. They are usually shown on blue sticky notes and placed to the left of the corresponding events.
Examples of commands: "Place order," "Confirm payment," "Ship item."
3. Aggregates
Aggregates are groups of related objects that are handled as a single unit. They are usually shown on yellow sticky notes and placed between commands and events.
Examples of aggregates: "Order," "Cart," "User account."
4. Read model
A read model represents the information needed to make decisions in the system. It is usually shown on green sticky notes and placed to the right of events.
Examples of read models: "Order list," "Payment history," "Delivery status."
5. Bounded context
Bounded contexts are logical boundaries in the system within which certain terms and concepts have a specific meaning. They are usually shown as large rectangles enclosing groups of related elements.
6. Business rules (policies)
Business rules are constraints or conditions that must be met in the system. They are usually shown on purple sticky notes and placed next to the relevant elements.
Preparing for Event Storming
A successful Event Storming session requires careful preparation:
1. Define the goals
Clearly state the goals of the Event Storming session. This could be analyzing an existing process, designing a new solution, or identifying problem areas.
2. Choose participants
Invite representatives of all stakeholder groups, including domain experts, developers, analysts, and business representatives.
3. Gather materials
Prepare the materials you need: a large sheet of paper or a whiteboard, colored sticky notes, and markers in different colors.
4. Create a comfortable environment
Provide a spacious room with enough space for participants to move around and to lay out materials.
5. Brief participants
Give participants a short briefing that explains the goals of the session and the basic principles of Event Storming.
How to run Event Storming
Event Storming can be run at different levels of detail:
Big picture
- Start by identifying the key events in the system;
- Arrange the events in chronological order;
- Add the commands that trigger the events;
- Identify aggregates and read models;
- Identify bounded contexts and business rules;
- Discuss and refine the model with participants.
Process level
- Focus on a specific business process;
- Detail the events and commands within that process;
- Identify potential problems and bottlenecks;
- Propose improvements and alternative solutions.
Design level
- Use the results of the previous stages to design the system;
- Identify key entities and their relationships;
- Design interfaces and APIs;
- Discuss technical solutions and architecture.
How to make Event Storming more effective
- Encourage everyone present to participate actively;
- Don't be afraid of mistakes, since Event Storming is an iterative approach;
- Focus on events, not on specific solutions or technologies;
- Use a facilitator to guide the process and keep the focus;
- Take regular breaks to help participants stay focused;
- Document the session results and plan next steps.
Conclusion
Event Storming is a powerful tool for analyzing and modeling business processes that quickly builds a shared understanding of the system among different stakeholders. Thanks to its flexibility and effectiveness, the method is becoming increasingly popular in software development and business process management. Event Storming can significantly improve communication between departments, speed up development, and help create better solutions.