Zero Defect Software Development: How are defects defined?

There is an old article about Zero Defect Software Development(ZDSD) by Steve Pavlina that was recommend to me by a coworker.

According to the article the basic tenet of ZDSD is "Maintain your product in what you believe to be a defect-free state throughout the development process."

I think a lot depends on how you define defect. For instance the article uses games as an example and includes in defects "unpolished artwork, an unacceptably low frame rate on the target system, levels that aren't fun enough, or any number of unfinished features". These can be restated as aesthetics, performance, usability, and unmet feature requirements.

Restated further, defects are measures against a defined level of quality (i.e. anything that falls below the defined level of quality is a defect). If the only measure of quality is the business requirements then the defect rate may be relatively low. If other measure of quality are defined (performance, maintainability, documentation, etc) then the defect level would need to be reevaluated based on those standards.

Rule 8 advises you to "Set QA objectives at the beginning of every project". Combine this with the basic tenet, "Maintain your product in what you believe to be a defect-free state throughout the development process" and what you get is "Set a standard of quality and live up to it".

Not bad advice. I'm sure a lot of development shops could be helped by it. The problem is that different development shops practicing Zero Defect Software Development could be given identical requirements and produce substantially different levels of work depending on what other measures of quality they define.

Fortunately there is more to Zero Defect Software Development than this. The recommended practices are actually quite stringent. Here are a few:

  • Review code regularly
  • Rewrite poor-quality modules
  • Make the quality of your code as important as the quality of your product
  • Learn from every bug

Good stuff. In fact the article recommends a laundry list of very solid practices, but I wonder if Zero Defect Management isn't as aptly named as it might be.

Also, I couldn't find much of recent chatter about ZDMS, except some talking about zero defects in general, so maybe this never really took off. There were some solid recommendations in the aricle though and I highly recommend checking it out.


Offshore software development company said...

Nice article, I was looking for these kind of information on software development. Please continue writing....