Recipe

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

    Define relationships

    Map upstream/downstream, partnership, shared-kernel, and customer/supplier patterns. Document the translation layer between each pair.

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