3. Decompose

Decompose the domain into sub-domains - loosely-coupled parts of the domain.

We decompose a large problem domain into sub-domains for a few key reasons:

  • reduced cognitive load, so that we can reason about parts of the domain independently,
  • give development teams autonomy, so that they can work on separate parts of the solution,
  • identifying loose-coupling and high-cohesion in the domain which carries over to our software architecture and team structure.

As a starting point, we recommend carving up your event storm into sub-domains and Context Maps.

Sub-domains on an EventStormCredit: Alberto Brandolini

Tools

Who to Involve

  • People who design, build, test software
  • People who have domain knowledge