Discussion, listening, understanding, discovery, and business value, all in effort to centralize knowledge. (Vaughn Vernon. IDDD)

Main things to have in mind:

  • Bounded Context
  • Ubiquitous Language

Strategic Patterns

Domain, Subdomain and Bounded Context

Ubiquitous Language

From Business side:

  • User Stories
  • Specification by Example, BDD
  • Event Storming
  • Domain Storytelling

From Technical side:

  • Pair programming
  • Code review

Tactical Patterns

Shared Kernel

It’s a domain shared with more than one bounded context. Needs to be agreed with all the teams so it might be hard to evolve.

I strongly recommend avoiding it as much as possible until the teams are mature enough with their domain.