“Measure Twice, Cut Once” Isn’t Very Agile.

Dad has good advice about irreversible actions, but software isn’t a birdhouse.

Matt Schellhas
Better Programming

--

Photo by Darya Tryfanava on Unsplash

“Measure Twice, Cut Once” is one of the few bits of Dad Advice that actually makes sense. Passed from skilled carpenters to wannabe skilled carpenters to all manner of professions for generations, it embodies the mindset that thorough planning can prevent costly mistakes. And it is great advice when you’re looking to literally cut things, though it is also great when nailing, gluing, soldering, welding, drilling, or doing hundreds of other things that are easy to do but hard to undo.

If it costs almost nothing to double check your measurements versus the cost of one piece of lumber if you’re wrong, then that’s a good bet! As the cost of a mistake goes up, so does the reasonable cost to mitigate it. If you’re building a bridge and it doesn’t reach the other side, suddenly you have a very costly mistake to clean up. Spending thousands of dollars to prevent millions of dollars of mistakes is prudent. Physical engineering almost always contains this risk because physical changes are often hard to undo — they are irreversible.

Software is different. If you “cut” in the wrong place with software, there is minimal cost. Undo is one keystroke away. Maybe you’ll need to revert a commit. Software…

--

--