liveBook · Manning

Heuristic

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

A heuristic is a practical rule or method for guiding problem solving and decision making when an exact solution is unavailable or unnecessary.

A heuristic is a practical rule that suggests a direction without guaranteeing an optimal answer. For domain boundaries, it helps generate design options and assess trade-offs when competing criteria make a fixed decision procedure impossible. section 9.3

Use heuristics as competing perspectives rather than rigid rules:

  • Compare business, domain, organizational, technical, and user-experience perspectives. section 9.5
  • Assess trade-offs, including the cost of dependencies and the effects of coupling. section 9.5
  • Combine heuristics with EventStorming and Domain Message Flow Modeling, then refine boundaries as complexity and assumptions change. section 9.3 section 9.5

A direction, not a guarantee

“Take the train to work” is a heuristic for arriving quickly, but delays can defeat it. Similarly, a domain-boundary heuristic offers useful direction while requiring additional analysis and judgment. section 9.3

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

How deep it goes
Explains competing heuristics, dependency costs, and evolutionary refinement, but stops short of guaranteeing an optimal boundary.
Examples
Uses a train-versus-bicycle analogy, EventStorming, pivotal events, semantic boundaries, and dependency-cost analysis.
What you can do after
Apply it via EventStorming and Domain Message Flow Modeling to compare boundary options and refine them over time.
How it connects
Connects domain boundaries with domains, subdomains, coupling, EventStorming, and Domain Message Flow Modeling.

Also explained in

Compare how 9 books explain heuristic →

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.