liveBook · Manning

Domain-driven design

As explained in Effective Platform Engineering

Domain-driven design is a software design approach that centers the structure and behavior of software on the underlying business domain and its models.

Domain-driven design structures a platform around the real product domains it serves, allowing independent teams to deliver capabilities while sustaining a coherent user experience as the platform evolves. section 1.3 section 1.3.2

Use domain boundaries to organize ownership, backlogs, and priorities—not to reproduce traditional IT functions. A boundary is sound when its domain is pleasant to use, teams can operate independently, and routine engineer-to-engineer coordination is unnecessary. section 1.3.2

Apply the approach by:

  • Identifying internal product domains and assigning each to a domain team. section 1.3 section 1.3.2
  • Giving each team a backlog and priorities while coordinating dependencies through subdomain product owners and domain-level architects. section 1.3.2
  • Treating frequent cross-team requests or meetings as a smell that domain boundaries or responsibilities need correction. section 1.3.2
Figure 1.3 Platform engineering depends on the disciplined application of a product delivery model. Product management drives decisions about the product’s capabilities, features, and experiences. Effective platform engineering principles enable us to deliver these more successfully. Identifying and architecting around the internal product domains of our platform is how we successfully sustain the user experience as the product evolves and scales.
A diagram of a process

AI-generated content may be incorrect.

Use the product delivery model to relate product management, platform engineering principles, internal domains, team growth, and user feedback. section 1.3

How Effective Platform Engineering covers it

How deep it goes
Explains domain boundaries, ownership, dependencies, and coordination smells, without specifying detailed implementation mechanics.
Examples
Uses independent domain teams, separate backlogs, cross-team communication as a smell, and platform domain figures as examples.
What you can do after
Evaluate platform boundaries and team interactions for independent delivery, manageable dependencies, and a smooth user experience.
How it connects
Connects platform engineering with product management, product roadmaps, user experience, domain teams, and platform product domains.

Also explained in

Compare how 7 books explain domain-driven design →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Effective Platform Engineering. The section links point to the parts of the book it draws on.