The clockmakers and the idea of a release
A sixteenth-century guild rule, and why it still describes shipping software well.
In the sixteenth century the clockmakers of Nuremberg were already a guild with rules about what an apprentice had to make before becoming a master. The masterpiece was a clock, and it was judged by the guild before the maker could sell anything under their own name.
What interests me is not the test itself but the rule that came with it: a clock was finished when it could be handed to someone who had not made it, and they could keep it running.
Finished means someone else can keep it
That is a better definition of “done” than most software teams use. We say a feature is done when it works on our machine, or when it passes review, or when it is deployed. The clockmakers would have said it is done when a stranger can wind it, set it, and fix the small things that go wrong.
For software, that stranger is the person on call next year. Documentation, tests, sensible defaults, a clear way to turn it off: these are not extras. They are the part of the work that lets someone else keep the clock running.
And the apprentices
Apprentices spent years maintaining clocks other people had made before they were allowed to make their own. Nobody thought of it as lesser work. It was how you learned what a clock needed to be, from the inside.
I think about that whenever a team treats maintenance as the job you do until you are good enough to build new things. The guild had it the other way round.