Skip to main content

Event Storming

Event Storming is a workshop format for quickly exploring complex business domains. It was created by Alberto Brandolini. The goal of Event Storming is to create a shared understanding of a domain and to identify potential problems and opportunities.

Event Storming is composed of a series of activities that are performed in a specific order. The results of these activities are presented in the following sections. For conciseness, some steps have been collapsed into a single section.

Unstructured Exploration​

Firstly, the domain is explored in an unstructured way. The goal is to identify the main events (orange notes), without any particular order.

Unstructured Exploration

Timeline​

Then, the events are ordered in a timeline.

Timeline

Pivotal Events and Pain Points​

At this point, the team has discussed critical points that require attention (pink notes).

Also, the team reasoned about the pivotal events (orange notes with black line), which are events with a significant impact on the domain. These are possible symptoms of a bounded context division.

Pivotal Events and Pain Points

Actors, Commands, Policies and Read Models​

In these steps, the team has identified the following elements:

  • Commands (blue notes): actions that trigger events.
  • Actors (yellow notes): entities that perform commands.
  • Policies (purple notes): rules that trigger events, no actor is involved.
  • Read Models (green notes): data that is read in a particular context.

Actors, Commands, Policies and Read Models

Aggregates​

The team collected related events and grouped them into aggregates.

Aggregates

Bounded Contexts​

Finally, the team has identified the bounded contexts based on the aggregates and interactions between them.

Bounded Contexts