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