Skip to content
#Architecture

EventStorming (Category Architecture)

#Architecture #DDD #Processes #EventStorming

Today I spent the day as a facilitator of the event storming session, which was dedicated to the domain of a/b experiments. It was entertaining and exhausting:) This one approach Alberto Brandolini was invented in order to share knowledge between domain experts and developers as efficiently as possible.

The technique itself is a workshop from the next set of steps. (Often the depth of the work may not be so detailed.)

  • Unstructured exploration At this step in Brainstorm mode, all members of the group independently throw on the board domain events
  • Timelines Domain events generated in the previous step are arranged in chronological order, starting with the happy path.
  • Commands At this step, commands are added that describe what triggers an event or event stream. Some teams have an actor who runs the command.
  • Policies At this stage, there are teams that do not have an actor. Such teams have a policy when such a command is launched, usually it is tied to the onset of some other domain event.
  • External systems In this step, the model is extended by external systems that are not part of the domain, but that are involved in the process, such as executing command or receiving notifications about domain events.
  • Aggregates When all teams and events are in place, participants can start thinking about optimizing and highlighting aggregates that receive commands and generate events.
  • Bounded contexts In the last step, it’s time to look at the whole picture. Groups of closely related aggregates are natural candidates for bounded contexts.

On attached photos

  1. A piece of the scheme that we got today - the guys did a great job, collected the timeline of a complex process, singled out actors and worked out the division into bounded contexts.
  2. Exemplary step-by-step scheme of the workshop

P.S. The author's approach has bookwhich has been written for many years on 70%. I even read it once.) There are a number of presentations describing the approach:

#DDD #Architecture #Processes #EventStorming