
Event Storming Workshop - Collaborative Domain Discovery in 60 Minutes
Author - Abdul Rahman (Bhai)
DDD
22 Articles
Table of Contents
What we gonna do?
Gathering requirements and understanding complex business processes can be challenging, especially when multiple stakeholders have different perspectives. In this article, we'll explore Event Storming—a fast, collaborative workshop technique that brings developers, domain experts, product managers, and quality assurance teams together to map out everything that happens in a system.
Event Storming uses colored sticky notes to create a visual timeline of domain events, commands, actors, and business policies. The workshop format encourages active participation from everyone, revealing hidden gaps in understanding and creating shared knowledge about how the system actually works. Unlike traditional documentation that becomes outdated and hard to follow, Event Storming produces a clear, visual representation that everyone can understand and reference.
We'll walk through the complete Event Storming process, from preparation to execution, showing you exactly how to facilitate a session that produces valuable insights in just 30-60 minutes.
Why we gonna do?
Why Traditional Documentation Falls Short
Most teams rely on written requirements documents, lengthy specifications, or user stories to capture how their system should behave. While these approaches have their place, they suffer from several fundamental problems:
- Passive Consumption: People read documents alone, which limits engagement and discussion
- Hard to Follow: Long text documents make it difficult to see the big picture or understand workflows
- Hidden Gaps: Ambiguities and missing information stay hidden until implementation reveals them
- Ambiguous Language: Different readers interpret the same words differently, creating misalignment
- Quick Obsolescence: Documents become outdated as soon as requirements change
Event Storming solves these problems by replacing passive document review with active collaborative modeling. Instead of writing about what the system does, teams visualize it together using sticky notes and a shared workspace.
Benefits of Event Storming
The Event Storming approach provides several powerful advantages over traditional requirements gathering:
Visual Timeline: Creating a chronological sequence of events makes workflows immediately understandable. You can see at a glance how processes flow from start to finish, including all the branching paths and decision points.
Active Participation: Everyone contributes during the session. Domain experts share their knowledge, developers ask clarifying questions, and QA team members identify edge cases. This collaborative energy surfaces insights that wouldn't emerge from individual document review.
Reveals Gaps Immediately: When you try to map out a complete workflow, missing information becomes obvious. Questions like "What happens if the payment fails?" or "Who approves this request?" get asked and answered in real-time, rather than discovered during development.
Builds Shared Understanding: The process of building the timeline together creates alignment. By the end of the session, everyone has the same mental model of how the system works, eliminating the problem of different interpretations.
Fast Results: A typical Event Storming session takes 30-60 minutes but produces insights that might take days or weeks to extract through traditional requirements documentation. The time investment is small compared to the clarity gained.
When to Use Event Storming
Event Storming works particularly well in these situations:
- Starting a new project where you need to understand the domain quickly
- Onboarding new team members who need to learn complex business processes
- Discovering hidden complexity or gaps in existing requirements
- Aligning multiple teams or departments on a shared understanding
- Redesigning a system and needing to capture current behavior
- Exploring "what if" scenarios for new features or business changes
How we gonna do?
Step 1: Prepare for the Workshop
Successful Event Storming requires minimal preparation, but getting these basics right ensures a productive session:
Who Should Attend:
- Domain Experts - People who understand the business processes deeply
- Developers - Team members who will implement the system
- Product Managers - Stakeholders who define requirements and priorities
- QA Team Members - People who identify edge cases and test scenarios
Materials Needed:
- Large wall space or whiteboard (physical or digital)
- Colored sticky notes (or digital equivalent) in five distinct colors
- Markers
- 30-60 minutes of uninterrupted time
Set Expectations: Explain to participants that this is a collaborative exploration session. There are no wrong answers during the initial brainstorming—the goal is to capture everything we know and discover what we don't know.
Step 2: Understand the Sticky Note Color Code
Event Storming uses a color-coded system where each color represents a different concept. Learning this code is essential for effective participation:
| Color | Meaning | Example |
|---|---|---|
| Orange | Domain Events (past tense, what happened) | "License Activated", "Payment Received", "Order Shipped" |
| Blue | Commands (actions users take) | "Activate License", "Submit Payment", "Cancel Order" |
| Yellow | Actors (who performs the action) | "Customer", "Administrator", "System" |
| Purple | Policies or Rules (if-then logic) | "If payment succeeds, activate license", "If expired, block activation" |
| Pink | Questions or Problems | "What if key is invalid?", "How do we handle refunds?" |
Once everyone understands this color vocabulary, collaboration becomes lightning fast. Participants can quickly add events, identify who triggers them, and capture questions without lengthy explanations.
Step 3: Execute the Workshop
Run the Event Storming session in this sequence:
Phase 1: Brainstorm Events (10 minutes)
Start by asking, "What are all the things that happen in this system?" Have participants write domain events on orange sticky notes. Don't worry about order yet—just capture everything. Events should be in past tense:
- License Activated
- Payment Processed
- Customer Registered
- Activation Failed
- License Expired
Phase 2: Arrange in Timeline (10 minutes)
Once events are captured, arrange them chronologically from left to right. This creates the backbone of your process flow. Group related events together and identify the typical sequence. Don't worry about perfection—this is a living model that will evolve.
Phase 3: Add Commands (10 minutes)
For each event, identify what command triggered it. Place blue command sticky notes just before their corresponding orange events:
- "Activate License" → "License Activated"
- "Submit Payment" → "Payment Processed"
- "Register Customer" → "Customer Registered"
Phase 4: Add Actors (5 minutes)
Identify who performs each command. Place yellow actor sticky notes near the commands they execute. This shows which users or systems interact with different parts of the workflow:
- Customer → "Activate License"
- Administrator → "Reset License"
- Payment System → "Process Payment"
Phase 5: Add Policies (10 minutes)
Capture business rules using purple sticky notes. These represent the logic that governs your system:
- "If license expired, block activation"
- "If payment fails, send notification"
- "If activation limit reached, prevent new activation"
Phase 6: Mark Questions (Throughout)
Whenever someone identifies a gap or uncertainty, capture it on a pink sticky note:
- "What if the hardware ID changes?"
- "How long do we keep activation history?"
- "What happens if customer requests a refund?"
These questions become actionable items to research and resolve after the workshop.
Step 4: Practical Example - Digital License System
Let's see how Event Storming works for a digital license activation workflow:
Timeline Flow:
[Customer] → [Activate License] → [License Activated]
↓
[If expired, block activation] (Policy)
↓
[What if key is invalid?] (Question)
↓
[Record Activation] → [Activation Recorded]
↓
[License Ready for Use]
Full Workflow:
1. Customer attempts to activate license (Blue command)
2. System checks if license is expired (Purple policy)
3. If expired, activation fails (Orange event: "Activation Failed")
4. If valid, system records activation (Blue command)
5. Activation recorded in history (Orange event)
6. License becomes active (Orange event: "License Activated")
Questions identified:
- What if the activation key is invalid? (Pink)
- How do we handle activation on replaced hardware? (Pink)
- What notification does the customer receive? (Pink)
This simple visualization immediately reveals the workflow, decision points, and open questions. Everyone can see the complete picture.
Step 5: Document and Follow Up
After the workshop:
- Photograph the Board: Capture the final sticky note arrangement for reference
- Address Questions: Assign pink sticky note questions to appropriate team members for research
- Update Domain Glossary: Add new terms discovered during the session to your ubiquitous language glossary
- Plan Implementation: Use the timeline as input for sprint planning and story creation
- Iterate: Revisit the model as you learn more or as requirements change
Step 6: Digital Event Storming Tools
For remote teams or digital collaboration, several tools support Event Storming:
- Miro - Digital whiteboard with sticky note features
- Mural - Collaborative workspace with templates
- FigJam - Figma's collaborative brainstorming tool
- Microsoft Whiteboard - Simple digital canvas for teams
These platforms provide virtual sticky notes, color coding, and real-time collaboration, making Event Storming work seamlessly for distributed teams.
Common Pitfalls to Avoid
Watch out for these common mistakes:
- Skipping the Timeline: Don't just dump events randomly—arranging them chronologically is where insights emerge
- Too Much Detail Too Soon: Start with the happy path, then add exceptions and edge cases
- Ignoring Questions: Pink sticky notes are valuable—they reveal what you don't know yet
- Letting One Person Dominate: Encourage participation from everyone, especially quieter team members
- Perfectionism: The goal is shared understanding, not a perfect model. Good enough to start is good enough
Summary
Event Storming is a powerful collaborative technique that brings teams together to visualize complex business processes quickly. By using colored sticky notes to represent domain events, commands, actors, policies, and questions, teams create a shared understanding of how their system works in just 30-60 minutes.
The visual timeline format makes workflows immediately clear, reveals gaps in understanding, and encourages active participation from all stakeholders. Unlike traditional documentation that becomes outdated and hard to follow, Event Storming produces a living model that evolves as your understanding deepens.
The five-color system—orange for events, blue for commands, yellow for actors, purple for policies, and pink for questions—provides a simple yet powerful vocabulary for collaborative domain exploration. By following the six-phase workshop process, teams can map out even complex domains efficiently.
Try Event Storming in your next project. The small time investment of one hour can prevent weeks of misalignment and miscommunication, ensuring everyone shares the same understanding of your domain before a single line of code is written.