Perfect does not mean productiveAUTHOR: Francisco Sáez
"Art is never defect-free." ~ Seth Godin
Trying to do things as best as possible is a very commendable attitude in most cases. As great professionals, we strive for perfection in everything we do. But by definition, true perfection is never actually achieved, there is always a small defect or error somewhere.
Also, as you get closer to perfection it is much harder to improve. If you build or develop something that fails five times out of 100 uses, then reducing that error rate is a must. Any improvements you make will be very significant and will bring more value to the recipient of your work. But if you have an error rate of one failure every 10,000 uses, you will need much more time and resources—at a much higher cost—to improve it and, in all likelihood, whatever miniscule degree of improvement you manage to achieve will not even be noticed by the users of your system.
Focusing too much on perfection becomes a productivity problem when you enter into the dynamic of considering that defects and error rates are always too high. It becomes the perfect excuse. It can lead to a feeling of paralysis, of being stuck in a project or task in which you never reach the desired result (since the desired result in this unhealthy mindset is impossible). Other projects and tasks are waiting because you are not able to perfectly complete the current one.
There is a moment in the development process of any work in which the additional cost of quality just isn’t justified by the added benefit of making the improvement. Many times, the reason we get beyond that point and we do not deliver our work is simply fear. Fear of making mistakes that discredit us, that make us look foolish in the eyes of people we care, or that piss off our customers or product users.
Done is a very ambiguous term for most of the tasks performed by today’s so-called knowledge workers. When is a job really ever done? When a developer says he has completed a new feature of an application? There’s always more to be done, something else to change or adjust. That is why, in the world of software development, acceptance tests are written: to define when a particular requirement is done.
Do you have days when you spend all your time looking for perfection? Are you afraid to ship something that’s in some way imperfect? To help solve this dilemma, work to define, with your project stakeholders, the criteria by which the job will be considered completed. In the end, the concept of perfection actually takes you away from getting things done. It prevents you from being productive.