liveBook · Manning

Domain model

As explained in Architecture Modernization: Socio-technical alignment of software, strategy, and structure

A domain model is a representation of the concepts, relationships, and rules that constitute a business domain.

A domain model is a shared way to describe the concepts and rules that matter to a business. Its value is not just in code: precise language helps business and software specialists understand one another, while a model reflected in code avoids costly translations between business and technical terms. section 8.3 section 8.6

When one word hides two steps

A team disagreed about when street devices should be “activated.” One person meant checking a device in the warehouse before installation; another meant configuring it after its location was known. Both steps were needed. Giving them distinct names resolved a disagreement that had appeared to be about the process itself. section 8.3

To improve a model, bring domain experts and engineers together. Ask them to describe their rules, then ask what those rules are trying to achieve. Sketch the emerging concepts and test whether they can be expressed precisely in code. Collaborative techniques such as EventStorming provide a setting for agreeing on terminology and exploring a future process before choosing technology. section 8.3.1 section 8.6

From data matching to trust

At a royalties organization, diverse and inconsistent data made “data matching” seem like a purely engineering problem. Whiteboard conversations revealed that the rules were often judgments about reliability. The team made trust a shared concept, experimented with a trust value from −5 to 5 in code, and continued checking the model with domain experts. section 8.3.1

A model also informs boundaries: when a business subdomain aligns with a codebase and team, a feature can be changed with less cross-team coordination. Treat those boundaries as provisional. Modernizing an airline’s systems exposed previously unknown behavior and edge cases that challenged its initial understanding of the domain. Invest in richer models where sustained collaboration and change justify the effort, then refine them as understanding grows. section 2.2.2 section 9.3.4

How Architecture Modernization: Socio-technical alignment of software, strategy, and structure covers it

How deep it goes
Explains shared terminology through workplace examples and collaborative modeling, with a small code-model experiment rather than detailed implementation guidance.
Examples
Uses disputed device activation, trust-based royalty data matching, and evolving airline domain boundaries.
What you can do after
Practice/perform collaborative modeling to clarify terms and rules, test concepts against code, and revisit boundaries as new behavior emerges.
How it connects
Connects domain models to EventStorming, subdomains, team boundaries, software architecture, and strategic IT.

Also explained in

Compare how 8 books explain domain model →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Architecture Modernization: Socio-technical alignment of software, strategy, and structure. The section links point to the parts of the book it draws on.