DDD Bounded-Context Mapper
A repeatable process for discovering bounded contexts from event storming output, domain narratives, or legacy codebases.
Ingredients
- Event storming stickies or domain event log
- Ubiquitous language glossary (starting set)
- Business capability map or org chart
- Whiteboard or digital canvas (Miro, Excalidraw)
Steps
- 1
Cluster by language
Group domain events and commands where the same term carries the same meaning. Split where a term means different things to different stakeholders.
- 2
Identify autonomy boundaries
Draw lines where a cluster can make decisions independently. If two clusters share a transactional boundary, they may be one context.
- 3
Name each context
Assign a name from the ubiquitous language. Prefer names the business already uses. Avoid technical suffixes like “Service” or “Manager.”
- 4
Define relationships
Map upstream/downstream, partnership, shared-kernel, and customer/supplier patterns. Document the translation layer between each pair.
- 5
Validate with scenarios
Walk an end-to-end use case across the map. If a single request touches more than three contexts, revisit your boundaries.
Output
A context map diagram plus a one-page summary per bounded context listing its core domain, supporting subdomains, key aggregates, and integration contracts.