The perfect is the enemy of the good.
Have you ever wondered why some projects develop functional prototypes almost overnight while other projects take forever to produce a working prototype? I think one of the major deciding factors in whether a project team will rapidly assemble a working product or not is if they are aiming for something that is perfect or ‘merely’ good enough.
“The perfect is the enemy of the good.” – Voltaire.
The pursuit of perfection is counter to the pursuit of a working product. To build the perfect product takes time: lots of time, more time than most companies can afford. To produce a good enough product takes significantly less time which increases the chances of actually getting it to market, making a profit and surviving long enough as a business to make a second improved iteration of the product.
“For many events, roughly 80% of the effects come from 20% of the causes.” – Pareto Principle.
According to the Pareto Principle (also known as the 80-20 rule) the first eighty percent of the output (effects) comes from only twenty percent of the work (causes). This eighty percent output is the ‘good enough’ product, therefore to produce the perfect product takes five times as long as the merely good enough.
The question you should ask is ‘Do we need perfection?’. I suspect unless you are programming medical, industrial or military equipment or software the answer is likely to be ‘No’.