Skip to content

Event Storming

Our knowledge crunching session have been continued using Event Storming approach, using a collaborative board and post-it notes to identify the main components and interactions related to the system. The process is iterative and all steps are presented in the following sections.

Miro platform has been used for the sessions.

Here is the link to the board: Event Storming

Unstructured Exploration

During the first iteration, each team member write possible domain events that could happen in the system, at put it on the board, without any specific order.

Unstructured Exploration

Timeline

Domain events are now organized in the order in which they occur in the business domain.

Timeline

Pain Points

The team tries to identify pain points in the system, spotting possible process that require attention.

Pain Points

Pivotal Points

The team identifies pivotal points in the system, where the system could be split in different bounded contexts.

Pivotal Points

Commands

The team now identifies and describes the command that trigger the event or flow of events, describing the system’s operations. In addition, has been specified also the actor whose trigger the command.

Commands

Policies

The team identifies the policies, commands without an actor, that are executed within the system.

Policies

Read Models

The team identifies the read models, a view over data within the domain that an actor uses to make a decision to execute a command.

Read Models

Aggregates

Now, once all the events and commands are represented, they are grouped into aggregates.

Aggregates

Bounded Contexts

Finally, the team identifies the bounded contexts, the boundaries of the system, where each bounded context is a separate domain model.

Bounded Contexts

The identified bounded contexts are:

  • Friendships: everything related to the friendships between users and their messages.
  • Servers: everything related to the servers and channels.
  • Users: everything related to the users, their profiles and authentication.
  • Multimedia: everything related to multimedia sessions.