Zero Defects Philosophy in Software Development Environment
Zero Defects is a Lean philosophy, a mentality, or a movement introduced by Philip Crosby* that aims to reduce and minimize the number of defects and errors in a process in hopes of getting things done right the first time. The ultimate aim of the theory is to reduce the level of defects to zero.
Its purpose is to design every process so that it is not possible to produce something of low quality. This is done assuming that the cost of preventing problems is less than fixing them later.
Zero Defects certainly seems good in theory, but how does it actually apply to software development? The following are few things that you should be aware before starting such initiative in your organization:
Is Zero Defects possible?
OK, before we go any further we need to address this question; the answer is NO. In reality, especially when we are talking about software development, it is just not possible to have zero defects. Those who promote the philosophy of zero defects say that the quest for perfection, even though everyone knows it is not possible, will at least increase quality. But then why are they motivating people to work towards something that is not possible? Wouldn’t it be better to just use something as the “Defect Reduction Initiative” instead of a Zero Defect approach?
When did all defects become the same?
In the real world, we prioritize defects and take care of them in order from greatest to least importance. Also, if we consider Return Of Investment (ROI), some defects at the bottom of this scale may never be taken care of at all.
The Zero Defects movement assumes that all defects are equal and requires teams to spend time analyzing and resolving them without ever considering ROI.
To make things worse, organizations that are into Zero Defects will add quality (check) points that will slow down overall delivery but “ensure” these defects will never be repeated despite the fact that the process is not actually adding value.
So how is the Zero Defects is actually reducing cost?
While one of the main ideas behind Zero Defects is to reduce cost, it will more than often do the opposite. Teams that need to fix all defects add tremendous labor-related effort and delays product releases to customer; both of these issues are highly correlated with cost.
One more thing to consider is that as teams resolve defects, there will be fewer defects left to find. This often means that finding defects that are left will take more time and effort, and with that, increases in cost occur.
Zero Defects Mentality
OK, let’s resolve this one before we end this article… Often I hear the purpose of promoting Zero Defects is to shift mindsets in your organization, but is that an environment you really want to build?
A few years ago Mary Poppendieck posted a quote from Defense Secretary William J. Perry: "This zero defects mindset creates conditions that will lead inevitably to failure. Demanding such a rigid standard produces timid leaders afraid to make tough decisions in crisis, unwilling to take the risks necessary for success in military operations."
In addition to significantly damaging your environment, there is a point of diminishing return in product quality that Zero Defects does not take into consideration.
In the end, we all certainly want our products to be as perfect as possible, but the Zero Defect approach is not the best way to achieve that. Companies should understand that any efforts to reach perfection will come alongside with significant cost increases and changes to your current environment.
* Crosby’s 14 Steps To Improvement Process
More By Same Author
- Jorgen Hesselberg
- Saji Rajasekharan
- Agile Development Editorial
- Matthew House
- Matthew House