Skip to content
#DDD

EventStorming

#DDD #Architecture #Processes #EventStorming

This is a cool technique of workshops for collaborative study of a complex business domain. This one approach He created and defined Alberto Brandolini. But what does that mean on your fingers? The bottom line is that sometimes a domain is so complex that no one really understands how it works. In this case, you can gather everyone, including domain experts and developers, and talk to them. a Event Storming allows you to structure this conversation so that valuable time is not wasted.

If we briefly sculpt the Event Storming technique, we get the following set of steps within the workshop.

  • 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.

Alberto has one. 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