Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
Python & Django

What Documentation Actually Gets Used

Last updated:

Most documentation is not read

Long documents describing what the code does go stale within months and are consulted by nobody, because the code itself is a more reliable description.

Document what the code cannot say: how to run it, what to do when it breaks, and why a decision was made.

Three documents worth having

  1. A setup guide — how to get it running locally, tested by someone who has not done it
  2. A runbook — what breaks, how to tell, what to do about it
  3. A decisions record — why particular choices were made

The setup guide is the practical test

If a competent developer cannot get the service running from the documentation within a day, the documentation is incomplete regardless of its length.

  • Every prerequisite named with a version
  • Every configuration value listed with an example
  • The steps in order, tested by following them
  • What success looks like at the end

The runbook is what you need at 7am

EntryContains
Each alertWhat it means, first three checks
DeploymentSteps, and how to roll back
Scheduled jobsWhat runs when, and what if it did not
DependenciesWho to contact at each provider
Common problemsSymptom and resolution

Record decisions as you make them

Why a particular approach was chosen, what was rejected and why, and which apparent oddities are deliberate. Written at the time, in a paragraph.

That record stops the next developer from re-litigating a settled decision or removing something that turns out to be load-bearing.

Frequently asked questions

Where should documentation live?

In the repository, alongside the code. Documentation in a separate system drifts because nobody updates it with the change.

How much is enough?

The three documents above. Beyond that, docstrings on non-obvious functions and nothing more.

Should we generate documentation from code?

For an API, yes — generated from schemas so it cannot drift. For internal code, docstrings are usually sufficient.

Who should write it?

Whoever wrote the code, as they go. Documentation written afterwards as a separate task rarely happens.

Keep reading

Service only one person understands?

That is a continuity risk. Three short documents fix most of it.

Book a free 30-minute call Get a project estimate WhatsApp us

Related services

What we build for problems like this one

Custom Software DevelopmentWeb DevelopmentMachine Learning