site_logo

Event Storming

Updated at: 7 October 2024

Business processes are becoming increasingly complex and interconnected. Effective management of these processes requires a deep understanding of their structure and dynamics. Traditional methods of analysis and modeling often prove to be too slow or not flexible enough for rapidly changing conditions. In response to this problem, an innovative approach called Event Storming has emerged and quickly gained popularity among software development and business process management professionals. Let's understand what this method is and why it is so effective.

## What is Event Storming
Event Storming
**Event Storming **is an intensive workshop that brings together representatives from different departments of an organization - from developers and analysts to subject matter experts and business stakeholders. Participants work together to create a visual model of business processes, using colored stickers to label different elements of the system.
important2
The key idea behind Event Storming is to focus on events occurring in the system rather than on specific actions or data structures. This allows participants to quickly create a holistic view of business processes and identify potential problems or areas for improvement. ## Benefits of Using Event Storming has a number of advantages that make it an effective tool for analyzing and modeling business processes: - **Quickly create a common understanding:** The method allows you to quickly reach a common understanding of business processes among participants with different backgrounds and expertise; - **Identifying hidden problems:** Process visualization helps to discover non-obvious problems and bottlenecks in the system; - **Stimulating creative thinking:** The interactive format facilitates the generation of new ideas and innovative solutions; - **Improved communication:** Event Storming facilitates better communication between different departments and stakeholders; - **Flexibility and scalability:** The method can be used both for the analysis of individual processes and for modeling entire systems. ## Structure of Event Storming Event Storming uses a number of elements to model business processes: #### **1\. domain event** Domain events are the key elements of Event Storming. They represent meaningful state changes in a system and are typically indicated by orange stickers. **Examples of domain events are:** "Order placed", "Payment received", "Item shipped". #### **2\. commands** Commands are actions that trigger domain events. They are usually indicated by blue stickers and are located to the left of the corresponding events. **Examples of commands are:** "Place order", "Confirm payment", "Send item". #### **3\. aggregates** Aggregates are groups of related objects that are processed as a whole. They are usually labeled with yellow stickers and are placed between commands and events. **Examples of aggregates are** "Order", "Shopping Cart", "User Account". #### **4\. reading model** The reading model represents the information needed to make decisions in the system. It is usually indicated by green stickers and is located to the right of the events. **Examples of reading models are** "Order List", "Payment History", "Delivery Status". #### **5\. bounded context** Restricted contexts are logical boundaries in the system where certain terms and concepts have specific meanings. They are usually indicated by large rectangles covering groups of related elements. #### **6\. business rules** Business rules are constraints or conditions that must be observed in a system. They are usually indicated by purple stickers and placed next to the related elements. ## Preparing for Event Storming A successful Event Storming requires careful preparation: #### **1\. goal setting** Clearly state the objectives of the Event Storming session. This could be analyzing an existing process, designing a new solution, or identifying problem areas. #### **2 Select participants** Invite representatives from all stakeholders, including subject matter experts, developers, analysts, and business representatives. #### **3 Gather materials** Prepare the necessary materials: a large sheet of paper or whiteboard, colored post-its, markers of different colors. #### **4\. create a comfortable environment** Provide a spacious room with enough space for participants to move around and place materials. #### **5\. briefing before Event Storming** Conduct a brief briefing for participants, explaining the objectives of the session and the basic principles of Event Storming. ## How to organize an Event Storming Event Storming can be conducted at different levels of detail: #### **Event Storming as a whole** 1. Start by identifying the key events in the system; 2. Arrange the events in chronological order; 3. Add commands that trigger events; 4. Identify aggregates and read patterns; 5. Identify constrained contexts and business rules; 6. Discuss and refine the model with participants. #### **At the process level** 1. Focus on a specific business process; 2. Detail the events and teams within that process; 3. Identify potential problems and bottlenecks; 4. Suggest improvements and alternative solutions. #### **At the design level** 1. Use the results of the previous steps to design the system; 2. Identify key entities and their interrelationships; 3. Design interfaces and APIs; 4. Discuss technical solutions and architecture. ## How to increase the effectiveness of Event Storming - Encourage active participation from all attendees; - Don't be afraid of mistakes - Event Storming involves an iterative approach; - Focus on events rather than specific solutions or technologies; - Use a facilitator to manage the process and maintain focus; - Take regular breaks to keep participants focused; - Document the results of the session and plan for follow-up. ## Conclusion Event Storming is a powerful business process analysis and modeling tool that allows you to quickly create a shared understanding of the system among different stakeholders. Due to its flexibility and efficiency, this method is becoming increasingly popular in software development and business process management. The use of Event Storming can significantly improve communication between departments, speed up the development process and help create better and more efficient solutions.