The Cost of Perfection
Thursday, February 28th, 2008I’m a perfectionist. I always have been. I struggle every day with wanting everything to be perfect. I’ve spent the past 10 yeas working at internet companies. For anyone who has ever used a website before (clearly you), this isn’t going to come as much of a surprise. But it turns out software (including websites) aren’t perfect and never will be.
One debate we often have at work is when should particular bugs be fixed, if ever. Those last two words are the kicker. That’s right: if ever.
Despite being a perfectionist, somewhere down the line, I learned about opportunity cost. It turns out not all bugs should be fixed. This was an amazingly difficult concept for me to understand. With bugs, the argument is two-fold:
- Whenever you change code, you run the risk of introducing bugs. To fix bugs, you need to change code. Thus fixing bugs often begets more bugs. Side note: begets is a great word.
- Fixing bugs comes at a cost of not building other things. This means that the outcome of fixing a bug has to be more valuable than the outcome of any other thing that could possibly be built with the same resources.
Now fortunately for most bugs, this evaluation is easy. The bug impacts many users and is important to our business or customers are upset or it leaves us vulnerable or … a million other things. You get the idea.
But there are always those other bugs that are much harder to classify. They don’t affect many people, but they look bad. How bad? Does it really matter? Are we being perfectionists or is it really important? I’ve found that these decisions are often the toughest. Learning to make them quickly and decisively has saved me much time over the past ten years.
Learning to let go of perfection and focus instead on desired outcomes and recognizing “good enough” has helped me enormously in my career. Now you might not work in software, but this philosophy works in every day life as well. It really comes down to filtering out the noise and focusing on what’s important. It’s not about being perfect in everything, it’s about being good enough in the things that matter.