Essential complexity is the irreducible complexity inherent in the domain. Software design cannot eliminate it; it can only manage where that complexity lives and how people navigate it. section 9.3.1
Use bounded-context design to make its trade-offs visible:
- Smaller bounded contexts contain less essential domain complexity and are generally easier to manage. section 9.3.1
- Splitting contexts does not remove complexity; it increases the complexity of communication between them. section 9.3.1
- Compare alternative designs with multiple collaborative modeling tools, including domain message flow modeling. section 9.3.1
A boundary-splitting concern
When Rose worried that further splitting would make communication too complex, the group modeled both alternatives before implementation. The goal was not to find a complexity-free design, but to understand whether smaller contexts justified their added coordination. section 9.3.1

