Sustainable Development » It's Code-AND-Fix!
The error in the first print run of my book that I most wish I'd caught in proofreading is at the start of the chapter on Defect Prevention. In the opening paragraph I describe how a culture of defect detection is one of coding then bugfixing; i.e. code-then-fix, or "let's add all the features first, then spend a few weeks fixing all the bugs". A culture of defect prevention on the other hand is one where feature development and bugfixing happen every day; i.e. "every day, let's check in an incremental addition to a feature and fix the bugs that come up that day". This is a "code-AND-fix" culture, yet in the first print run the text says code-then-fix. Oops.
There are other errors in the first print run (check out the Publications page for a list) but this one caused me the most stress. I'll never forget the feeling of opening the box of books from the publisher, pulling out a copy and skimming it only to find this. Let's just say it did not make my day.
So the big question is, why is this important? Because teams that focus on features first (i.e. a culture of defect detection) have a false sense of progress. Their project might be tracking to schedule, but nine times out of ten their product isn't because once they try and release the usual outcome is stress as they fix bugs and try to stabilize the product again. I've seen projects where a number of those fancy new features have to be disabled just to get the product out the door, and heroism and stress are required in equal measure. The feeling the team has when the product finally ships is a sense of relief, which is a shame since a lot of hard work went into the product.
The advantage of a culture of defect prevention, where the team focuses on quality first and features second, is that products are shipped with a sense of pride and with less stress and no heroism required. True, there are always things to improve in every release, but these teams are able to make each release better than the one before it, and that gets the attention of customers.
If there's one observation I have in my career to date it's that focusing on quality first is critical. Quality enables innovation and business success, which are critical for long-term success.
Posted: December 13th, 2009 under Software Development.