I had an interesting discussion with a co-worker today. Out of it came this conclusion:
Perfection is expensive. Perhaps that is why Microsoft is so profitable.
Heh. It sounds like I’m picking on the big MS. However, MS is not alone. The same could be said about nearly any successful company. I would like to site a few examples, but instead, I’ll avoid the troll-bait here. I’m sure you could think of a few names, if you tried.
Nearly every project that I have worked-on began with the expectation that we would be delivering a bug-free product. Flawlessness. Perfection. Eventually, the first bug or two slipped past us anyway. So we looked deeply at how we could shore-up our process to ensure that it would never happen again. It was a journey of a million miles, which began with a few footsteps.
Reaching for ultimate perfection will stretch a project’s timelines, because of the required beaurocracy, the layers of redundant reviews and checks and balances. At first, it will seem like a great idea. A moderate investment in testing usually yields big returns. After a while, it will take more and more resources to advance the process. Eventually, it will slow your progress enough to create concern. At that point, management must face one reality: Perfection is infinity. Ultimately, it is unachievable. You can only reach towards it (infinately). Doing so, costs time and money. Nobody has infinite time and money.
So, before you begin the journey towards infinity, please be cognizent of the cost of perfection. The earlier that you accept this, the sooner you will settle on a sensible budget and determine how close to perfection you can realistically afford to get. Only then, will you be able to set realistic expectations and achieve them.