See it as a diagram
Everything below, as a diagram you can edit. Describe yours and see it in seconds.
No account needed · Editable canvas, not a picture
Treat it as a register, not a feeling
Documentation debt is manageable the moment it becomes a list. The register needs one row per known-bad or missing doc and a handful of columns: the page, its owner or the fact that it has none, when it was last verified, and the cost of wrongness, meaning what happens to the person who follows it today. That last column is the one that ranks the work, because a wrong failover step and a wrong lunch-spot recommendation are both stale docs.
Keep the register where engineers already look, a repo file or a pinned wiki page, and review it monthly for fifteen minutes. The review is not a writing session; it is triage: rows get a decision, delete, redirect, generate, or fix, and a name. A register without decisions is just an inventory of guilt.
| Page | Owner | Last verified | Cost of wrongness | Decision | | ----------------------- | ----- | ------------- | --------------------------------------- | -------- | | wiki/payments-oncall | dana | 2026-01-14 | Wrong failover steps during a Sev1 | fix now | | wiki/etl-setup-2023 | none | 2024-11-02 | Sends new hires down a removed path | delete | | wiki/platform-overview | mike | 2025-06-20 | Diagram omits two services, misleads | generate | | wiki/deploy-guide | none | 2025-09-30 | Duplicates the newer runbook, conflicts | redirect |
Quantify it in hours
Three numbers are countable this week and convert directly to hours. First, pages past their review SLA: if docs carry a last-verified date, this is a script over front matter; the count times a realistic verification effort is your backlog in hours. Second, unowned pages: no owner means no one is accountable for wrongness, and the count is a proxy for how much of the wiki is abandoned in place.
Third, and most persuasive to whoever holds the budget: support questions caused by missing or wrong docs. For two weeks, tag every Slack question a doc should have answered, multiply by the minutes each answer took, and annualize. The result is the interest payment, in senior-engineer hours per month, and it turns the docs conversation from aesthetics into arithmetic. The cost of outdated documentation develops the full cost model, including the incident-risk term that dwarfs the rest.
Pay it down delete-first
The paydown order matters more than the effort invested, and the correct order starts with the cheapest action that removes the most harm: delete. A wrong page is worse than a missing one, because the missing page sends readers to a person while the wrong page sends them, confident, in the wrong direction. Delete every row whose content is wrong and unowned; nobody defends these pages once someone finally proposes it.
Redirect comes second: merge duplicates so the surviving page concentrates whatever maintenance attention exists. Generate comes third and is where the payoff concentrates, covered below. Full rewrites come last, reserved for prose that earns human authorship: onboarding narratives, decision records, the why behind the system.
Fixing everything, the intuitive plan, is the losing move. Writing capacity is a few pages a month; debt accrues faster; the register grows while the team burns out on rewrites of pages nobody reads, and everyone concludes documentation is hopeless. Delete-first shrinks the register on day one and spends scarce writing hours only where prose is the right medium.
The generate step is where accrual stops
Deleting and fixing address the stock of debt; generation addresses the flow. A rewritten page starts decaying the day it ships. A generated projection, a diagram drawn from the repository, a schema doc from the database, a CLI reference from --help output, tracks its source instead, so the same class of debt does not re-accrue.
Architecture pages are the highest-value conversion because hand-drawn system diagrams rot silently and mislead the readers least equipped to notice. Replace the pasted export with a live embed URL so every page shows the current version within minutes of an edit, and put the regeneration one command away with an MCP-connected agent that redraws from the repo. Two honest caveats: the live embed requires the project to be shared public, which rules out some confidential architectures, and Datadef does not watch the repository, so the regeneration still needs its trigger, a CI job or a review habit.
Intake for the register
FAQ
What is documentation debt?
How do you measure documentation debt?
Should we fix outdated docs or delete them?
How is documentation debt different from technical debt?
How do we stop accruing new documentation debt?