Search for the Right Document
Event Storming Session: Retail Order Management System
Date: [Insert Date]
Facilitator: [Your Name]
Participants:
- Product Owner
- Business Analyst
- Software Engineers
- UX Designer
- Customer Service Representative
- Warehouse Manager
Tools Used: Sticky notes and a large whiteboard (if in-person) or an online tool like Miro or MURAL (if remote)
Objective
- Identify and map out the key events, commands, and processes involved in managing a retail order from start to finish.
- Understand the flow of information and how different components of the system interact.
- Uncover gaps, inefficiencies, and opportunities for automation or improvement.
Preparation
- Prepare a brief overview of Event Storming for participants who may not be familiar with the concept.
- Gather materials, such as colored sticky notes or set up the digital collaboration space.
- Define the main goal: Designing a comprehensive flow for the Order Management System.
Agenda
- Introduction (10 minutes)
- Welcome participants and explain the purpose of the Event Storming session.
- Provide an overview of the order management process and the key outcomes expected from the session.
- Explain the use of different colored sticky notes:
- Orange: Domain events (e.g., “Order Placed”)
- Blue: Commands (e.g., “Process Payment”)
- Yellow: External systems (e.g., “Payment Gateway”)
- Pink: Issues or questions (e.g., “What if the payment fails?”)
- Identify Domain Events (30 minutes)
- Ask participants to brainstorm and write down events that occur in the order management process on orange sticky notes.
- Place events on the whiteboard in chronological order.
- Examples of Domain Events:
- “Order Created”
- “Payment Processed”
- “Inventory Reserved”
- “Order Shipped”
- “Order Delivered”
- Discuss and refine the event order, ensuring everyone agrees on the flow.
- Add Commands (30 minutes)
- Identify the commands that trigger these events and write them on blue sticky notes.
- Examples of Commands:
- “Submit Order”
- “Charge Credit Card”
- “Reserve Inventory”
- “Dispatch Order”
- Place commands before the corresponding events on the whiteboard.
- Identify External Systems and Actors (20 minutes)
- Discuss which external systems or actors are involved and add them using yellow sticky notes.
- Examples:
- “Customer” (actor)
- “Payment Gateway” (system)
- “Warehouse Management System” (system)
- Draw lines or arrows to show interactions between events, commands, and external systems.
- Uncover Issues and Questions (20 minutes)
- Encourage participants to identify any potential issues, risks, or questions and write them on pink sticky notes.
- Examples of Issues:
- “What happens if the payment is declined?”
- “How do we handle out-of-stock items?”
- Place these issues near the relevant events or commands and discuss possible solutions.
- Identify Business Rules and Policies (20 minutes)
- Discuss any rules or policies that influence the process, such as return policies or inventory thresholds.
- Document these on the whiteboard and discuss how they impact the event flow.
- Review and Refine the Flow (30 minutes)
- Walk through the entire flow from start to finish, making sure everything makes sense and there are no gaps.
- Make any necessary adjustments based on participant feedback.
- Take photos of the completed whiteboard or export the digital board for documentation.
- Wrap-Up and Next Steps (10 minutes)
- Summarize the key findings and decisions made during the session.
- Discuss the next steps, such as creating detailed user stories, refining the process further, or beginning development.
- Thank participants for their valuable contributions.
Key Outputs
- Event Flow: A comprehensive visual map of all events, commands, and interactions in the order management process.
- Identified Issues: List of potential issues or questions that need further investigation.
- Business Rules: Documentation of rules and policies that influence the system.
- Next Steps: A clear plan for refining requirements and moving forward with design and development.
Example Flow from the Session
- Event: “Order Created”
- Command: “Submit Order”
- External System: Customer
- Event: “Payment Processed”
- Command: “Process Payment”
- External System: Payment Gateway
- Event: “Inventory Reserved”
- Command: “Reserve Inventory”
- External System: Warehouse Management System
- Event: “Order Shipped”
- Command: “Dispatch Order”
- Event: “Order Delivered”
- Command: “Confirm Delivery”
Follow-Up Actions
- Document the results of the Event Storming session and share them with the team.
- Schedule a follow-up meeting to address unresolved issues or questions.
- Begin creating detailed requirements and design documents based on the event flow.