Skip to content
Latticework
Esc
Try
No. 001Ways of Thinking

The Map Is Not the Territory

Every diagram, model, and dashboard is a simplification. The running system is the truth.

The running system contains connections the diagram left out, so check the map against the territory.

To an executive

Plans, diagrams and dashboards are simplified pictures. Decisions made on them alone can miss what is really happening, so leaders need to check the live situation.

To an engineer

Treat architecture diagrams and inventories as out of date. Check them against the running system, including retries, manual workarounds and undocumented integrations.

The idea

Alfred Korzybski, the founder of general semantics, set out the idea in Science and Sanity (1933): a map is not the territory it represents. A map is useful because it shares some structure with the territory and leaves the rest out. The danger is forgetting what was left out and treating the representation as reality.

For architects, the maps are C4 diagrams, capability maps, configuration databases and target-state decks. They start to age the moment they are drawn, and they tend to omit the messy parts: retries, manual workarounds, shadow IT and integrations nobody wrote down.

Why it works

Every map is a choice about what to leave out. A diagram drawn for an executive omits the batch jobs; one drawn for a developer omits the contracts. Both are right for their audience and wrong as a picture of everything.

Maps drift and territories do not wait. Systems change every week; documentation changes when someone remembers. The gap grows quietly until a migration or an incident exposes it.

Decisions inherit the map's blind spots. A plan built on an incomplete picture fails exactly where the picture was incomplete.

Where it applies

  • Migrations and decommissioning, where an unlisted dependency can break something critical.
  • Design reviews that rely on hand-drawn diagrams rather than evidence from the running system.
  • Enterprise maps and inventories, which are often months or years behind reality.
  • Dashboards and metrics, which show what someone chose to measure, not everything that matters.

How to apply

  1. Date and scope every map. Say when it was drawn, for whom and what it leaves out.
  2. Check the map against evidence: traces, network flows, logs, code and infrastructure definitions.
  3. Prefer generated views (from service meshes, dependency scans or infrastructure as code) where accuracy matters, and hand-drawn ones where explaining matters.
  4. Treat documentation as a hypothesis to be tested before any decision that depends on it.

Example scenario

A target-state diagram showed the CRM talking only to the integration hub, and the migration plan was built on that picture. Before cutover, the team turned on distributed tracing and network flow logs for a month. They found fourteen point-to-point calls into the CRM from batch jobs nobody had listed, including one that fed payroll.

The plan changed: each hidden caller was moved onto the hub first, and the CRM migration waited until traffic outside the hub had dropped to zero. The diagram was then regenerated from the tracing data rather than redrawn by hand.

Questions to ask

  • When was this diagram last checked against production?
  • What does this view deliberately leave out, and who decided?
  • Which source of truth would contradict this picture?

When not to use it

  • Early design and explanation, where a deliberately simple sketch is the point and checking it against production would be premature.
  • Small, well-understood systems whose owners know them fully; heavy verification adds little.

How it misleads you

It can become a reason to reject all models because they are imperfect. Without maps, nobody can reason about a large system at all. The goal is not to abandon maps but to know their scale, their age and their blind spots, and to check them before betting on them.

Further reading

Last reviewed · Suggest an improvement