Machinists write down how far a part may be off. Software teams should too.
11 Oct 2026 · 5 min read
Every engineering drawing has numbers like 42.00 ± 0.01. The first number is what you want. The second is how far you are allowed to miss. Without the second number, the first one is a wish.
Software specs are full of wishes. 'The app should be fast.' 'Search should be accurate.' 'It should work offline.' None of these can be checked, so none of them are ever finished, and arguments about them never end.
Write the tolerance next to the feature
We give every important feature a tolerance before we build it. The dashboard shows a first number in under two seconds on a laptop over 4G. The assistant cites a source for every answer or says it found none. The app is crash-free for more than 99.8% of sessions.
These are not targets for a slide. They are checks that run while we build, and a change that breaks one does not ship.
Without the second number, the first one is a wish.
Pick fewer, tighter tolerances
A part with every dimension held to a micron is absurdly expensive. Machinists hold tight tolerances only where the part meets another part. Software is the same. Pick the three or four numbers your users actually feel, hold those tightly, and relax everything else.
In practice that is usually speed of the first useful screen, responsiveness to touch, correctness of the one number people make decisions on, and what happens when the network disappears.
Measure in the shop, not after delivery
The cheapest place to catch an out-of-tolerance part is at the machine. The most expensive is in the customer's hands. Put the gauges in the pipeline, run them on every change, and make them impossible to ignore.
— The Lathly shop