Stay Connected:

TwitterLinkedin

Zero Defects Philosophy in Software Development Environment

    
 About
 Contributions   
 Follow
 Send Message
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. 

Reference:
* Crosby’s 14 Steps To Improvement Process 


Comments   

 
AntoineK 2017-12-20
We are lucky that you do not work in an airline...
Reply
 
 
Tom S 2020-10-15
The lean/agile model is not a good fit for critical systems such as Airline Traffic Control etc. where safety is critical. This is why methodologies such as waterfall have not died out yet. Simply assuming lean + the zero defects approach will fit all is just plain stupid. The zero defects approach would for e.g. run startups with limited funding (where time to market is more critical) to the ground
Reply
 
 
Mike Brown 2020-10-02
The premise that zero defects is impossible is false. It is true that the more complex a piece of software is (or anything is), the less likely it will be defect free. But having zero defects is not theoretically impossible (i.e. necessary by its very nature) at *any* level of complexity. Software *certainly can* work as intended, just like all the words of a sentence can can be spelled correctly, or all the code in a code base can be syntactically correct (it compiles with no errors).
Reply
 
 
Carl 2020-12-04
In most scenarios, people believe zero-defect is impossible just because they themselves allow defects to happen, not because it's really "impossible".
Reply
 
© 2024 Agile Development