The eight principles
What is data, what is a wall, who owns a rule, and why a specification never names a file.
1 — Configurable over rigid
Lists, thresholds, labels, process steps, delays and category sets are data, not constants you specify. Data means the record is shaped to hold a reference to a value that changes — always. Whether the client edits it through a screen, or you edit it in a configuration artefact on their behalf, is the second decision.
2 — Configuration changes the path, never the walls
May be configured: the org chart, the categories, the steps, the amounts, the deadlines.
May never be: identity, authorisation, confidentiality, separation of duties, audit integrity.
A badly configured system must be able to stall; it must never be able to expose. See the configurability boundary.
3 — Constants generate questions
Every constant you write into a specification becomes a question to the client, then a software change, then a divergence.
Would this statement be false if the client reorganised next year?
If yes, it is data.
4 — Design for the second client
Build for this client and the next similar one. A model that only fits one organisation's current shape is a model you will rewrite. Bespoke is a failure mode, not a service.
5 — One rule, one owner
Assign authority explicitly and once — which document owns which rule, and what every other document may only reference. Two statements of the same rule diverge; it is a matter of when. See the authority map.
6 — Stable requirement identifiers
Every rule gets an identifier that never changes and is never reused. Cite it in commits, tests and tasks. It is the only durable link between a line of code and the rule it serves.
7 — Specifications carry no implementation
No file path, no symbol, no library, no data structure. If a sentence stops being true when the technology changes, it does not belong in a specification — it belongs in a decision record.
8 — Look up what it is already called, before naming it
Identifier schemes, document types, process phases, status sets, units of work — every one of these has been settled by a discipline that has done it for decades. Find the practice, name it, adopt it. Invent only after establishing that nothing fits, and say so.
A shortlist of candidate names is a research failure, not a creative exercise. See naming.