Complexity rarely arrives announcing itself. It accumulates in imprecise names, ownerless decisions, and layers nobody can fully explain.
Explanation as a system property
An understandable system is not a simple system. It is a system where every piece has a reason that can be exposed, discussed, and checked.
«Any abstraction that cannot be formally verified is postponed technical debt.»
Systems notebook, entry 01
Complexity cost
C = D + V + OA decision that can be read
Architecture is also a form of documentation. When a decision has an owner, a reason, and evidence, the system keeps its memory.
typescript
explainable-system.ts
type Decision = {
owner: string;
evidence: string[];
};
const explainable = (decision: Decision) =>
Boolean(decision.owner && decision.evidence.length);References for further reading
The goal is not to eliminate all complexity, but to make visible which complexity is worth keeping.