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.
Credit: Alberto Brandolini
Who to Involve
- People who design, build, test software
- People who have domain knowledge