Ship the right bugs
I love the last line of Sachin's previous post. Ship a simple, beautifully polished product rather than trying to check all the checkboxes.
However, the reality is that you're going to ship with bugs. Every single software release that I worked on at Apple went out the door with hundreds of known bugs, some of them pretty embarrassing visual glitches and crashes.
That doesn't mean that you should blindly throw software over the wall to your users. Those bugs that we shipped were discovered after hours of testing, examined from every angle, prioritized and reprioritized, argued for and against, and ultimately punted to the next release with great reluctance.
Everything's a tradeoff. Against the benefit of fixing a bug, you must weigh:
- time required to diagnose and fix the bug
- risk that fixing the bug will have unintended consequences, including introducing something even worse
- lost user benefit since they don't have your new product in their hands
- cost of giving your competitors more time to catch up to you
Time is a huge part of this. If you've got enough time before your ship date, then you may have the luxury of fixing "nice to have" bugs. But keep raising the bar as you approach your release date. When you're on the verge of shipping, only a true showstopper can delay your launch, no matter how badly the mispositioned drop shadow pains your CEO.
There are no easy answers, of course. Shipping the wrong bug can cause real pain for your users and even torpedo the future of your company. But if absolute perfection at any cost is your philosophy, you may be in the wrong business.
