Single Source of Truth
A canonical, authoritative version of information that everything else defers to. For product behaviour, the only true source of truth is the code itself.
A single source of truth is the place that every other place trusts. When information lives in multiple systems — a wiki, a planning doc, a Slack thread, an engineer's memory — there's no canonical version. People answer the same question differently. Confidence collapses. Decisions get made on stale data.
For product behaviour specifically, the only place that's always accurate is the code. Every behaviour the product exhibits is encoded there — happy paths, edge cases, error handling, the lot. Wikis, PRDs, and meeting notes describe what someone intended; the code describes what was actually built. The two diverge from the moment the feature ships.
A living product specification treats the code as the single source of truth and derives the human-readable spec from it on every release. This is structurally different from “the wiki is our source of truth” — wikis can drift, and usually do. Code can't drift from itself.
Related terms
- CONCEPT
Living Documentation
Documentation that is structurally incapable of falling out of sync with the product, because it is derived from the code rather than written separately.
- CONCEPT
Product Specification
A written description of how a product behaves — feature by feature, scenario by scenario. Distinct from a technical spec, which describes implementation.
- PROBLEM
Documentation Drift
The gradual divergence between written documentation and the product it describes — widens with every release that nobody remembers to document.