Cut Twice, Measure Once
The popular saying is Measure Twice, Cut Once, but it does not apply to the Software Development industry.
Often in engineering, “Measure Twice, Cut One” is a dogma. It does also mean plan carefully before execute. It is reasonable, making a mistake is expensive, so we better plan before. But we cannot apply it everywhere, for every task. Do you have ever realized how slow we would be if we measure twice everything before cut? Or plan every detail before execute? We need some criteria.
The most evident counter example is the kitchen. Can you imagine yourself measuring twice every cut in the bread just to make sure that they have the right size? That is nonsense. But, the important thing is why?
The first answer that raises to why we do not need to measure every cut, it is because we have a big margin for error. Which is right, probably we can double the size of the cut, and nothing would happen. Yet, there is more.
There is a second answer: food is cheap, thus mistakes are inexpensive. That is right. We even can fix some cases quickly. For example, if we do a cut too big, we most likely can cut it again, so we have the intended size. If we cut it too small, we can throw it away, or we can reuse somewhere else. But, there is even more.
The third answer, and the one that I found less evident, is related about how a chef evaluates how well he did the job. Chefs know that the size of the cut is important, the cooking properties changes with it, but there is more. Chefs know that the success of the dish does not depend on the precision of the cut. Not even how it was cooked, or which ingredients there are. They know that there are thousands of factors, and the best way to know how well all of them combine is by tasting it. So, when chefs create a new dish, for them, it is more important first to create the dish, and then tasting it. This way, they can evaluate quickly whether the idea was good, or not, and then, make it perfect.
So, chefs need to cut several times before measuring it, tasting it. If they were measuring and planning everything beforehand, each iteration would be too slow, and the chances of success would decrease significantly.