What are Key Events?
In Event Storming, 'Key Events' are crucial components that represent important occurrences in a system's domain. They describe significant changes in the state of the system that are worth capturing and analyzing. Here's how Key Events can be understood in the context of Event Storming:
1. Event-Driven:
- Key Events represent domain events — things that have already happened. These events are the main driving forces behind changes in the system, such as 'Order Placed,' 'Payment Completed,' or 'Item Shipped.'
- They capture moments when something meaningful occurs from a business perspective.
2. Granularity:
- Not all events in a system are 'Key Events.' Key Events are those that signal significant transitions or notable business outcomes.
- For example, in an e-commerce context, 'Item Added to Cart' is an event, but 'Order Completed' is a Key Event because it signifies a commitment from the customer.
3. Temporal Nature:
- Key Events provide a time-based narrative of the system's behavior. They answer the question: 'What happened before?' This timeline of events gives an understanding of how the system evolves over time.
4. Visual Representation:
- In an Event Storming workshop, Key Events are typically represented as orange sticky notes (depending on conventions used) placed on a whiteboard.
- Each sticky note represents one Key Event and is ordered sequentially to show how business processes flow.
5. Collaborative Insight:
- Identifying Key Events is a collaborative process where domain experts and technical teams work together. Experts highlight what they believe are the most critical business events, which helps teams to focus on the most impactful areas.
6. Event Aggregation:
- These events are not isolated; Key Events might trigger commands (user actions or system operations) or lead to the creation of other events. They also help in designing the aggregates (key business entities that encapsulate state changes).
Example:
In an online shopping system, Key Events might include:
- Product Viewed: A customer views a product on the website.
- Order Placed: The customer places an order for the product.
- Payment Processed: Payment is completed and confirmed.
- Order Shipped: The order is shipped to the customer.
- Order Delivered: The customer receives the order.
Summary:
Key Events in Event Storming highlight the most crucial moments that define the system's behavior. These events are significant from both a business and technical perspective, and identifying them is essential for understanding how different components interact within the system.