We have 4007 guests and 14 members online

Agile Sponsors

HP


CollabNet


TechWell

Home > Articles > Columns > Articles > The Zero Defect Vision, Part 1

The Zero Defect Vision, Part 1

E-mail
Written by Bob Schatz   
Monday, 09 January 2012 15:10

How many times have you had the conversation at work about how software is so complex and it should be an accepted fact that there are going to be a significant number of defects?

Would you be comfortable if your doctor, surgeon, airline pilot, bridge-builder, car manufacturer, or pharmaceutical company had similiar conversations?

I’m not! And it’s time we all started to take our profession to the next level of quality and stop making excuses. We need to go to war on our own behaviors and processes, working toward a goal of zero defects. We need to follow in the footsteps of the masters and learn from what companies like Toyota have achieved through the teachings of W. Edwards Deming and Joseph Juran. It is time to bring our own industry into the twenty-first century and stop living in the shadows of the 1970s.  Error-proofing, preventing errors from happening instead of detecting them at the end, is the path to higher quality in our products, processes, and people.

The Goal
Zero defects is an achievable goal for an organization and a bold statement regarding your tolerance for errors. I’m sure you’re already thinking of skipping this article because it’s not for you…stop! You might be the greatest barrier in achieving high-quality results like zero defects, because you believe that it can’t be done. Do I have your attention now? Please stick with me and read on. Maybe you’ll learn something that will help you and your organization break the barrier.

You’ll need six elements to get started:

Desire: There has to be a desire from everyone to improve. If there is not a sense of urgency to change, then it will not happen.

Knowledge: Once there is a desire to change, your organization must acquire knowledge on what to do.

Skill: After everyone increases his knowledge and visualizes a path forward, he needs to develop skills. The organization needs to practice techniques that enable small wins.

Determination: There will be many times when it gets frustrating or seems impossible to move forward. People seem to get focused much too quickly on what can’t be done versus what can be done. This is where the determination to get better must overtake the pain of the change.

Courage: We must have the courage to change and challenge the patterns that we’ve learned from the past. If nobody has the courage to put everything on the line, change is much less likely to occur.

Humility: Sometimes, no matter how hard we try to get things right, stuff happens. Having the humility to understand that we are all human and mistakes happen, keeps us open to being able to learn from those mistakes.

Why Do We Need to Error-proof?
Software and services organizations are under increasing pressure to deliver more value–faster than ever before–at a higher quality than we’ve been able to economically consider. However, as we have seen in other industries–most notably the automotive industry–the inability to meet this challenge is a company killer. Today, the fear of the consequences of changing is much less than the reality of what will happen if we don’t.

Lean enterprises focus on quality in the entire system. They work to prevent errors in their processes using root cause analysis techniques and immediate action. Lean is not just something being used by companies for manufacturing and assembling; companies use lean in all their system processes. It’s just that we often reference the assembly and manufacturing of products because they are easier to visualize.

From an organizational perspective, the development of software has a lot of moving parts. It involves more than just the coding and testing. In order to error-proof a process, we have to look at the entire process. Everything has to be inspected:  The selection of people, the use of techniques, the selection of a project, the delivery mechanism that gets the product to the end-user, and the support mechanisms. Often when a company brings up the word “quality,” software testing and the quality assurance (QA) group are immediately focused upon. This is one source of the problem in improving quality. As Mary and Tom Poppendieck state in their book Implementing Lean Software Development, the job of QA/testing is to prevent defects, not find them. They should champion process improvement efforts that ensure quality during all phases of product development. In a high-quality environment, everyone is responsible for quality. 

I have challenged organizations that I work with to achieve a 99.9997 percent first-time pass rates in their current test phases. This often shocks people and they become angry at me for even suggesting that. However, they should strive to achieve this very goal. If this is not possible with their current processes, then change is needed to improve. This goal would force them to take a hard look at how to move from error detection at the end of the process to error prevention throughout the process. When we retrain ourselves to think in this way, we will begin the journey to the zero defect vision.

What Is Error-proofing?
The Lean Enterprise Memory Jogger,” a nice little guide to lean techniques, has a good definition for distinguishing between errors and defects:

Error: “Any deviation from a specified process. Errors cause defects in products or services.”

Defect: “A product or service that does not conform to specifications or a customer’s expectations. Defects are caused by errors.”

Error-proofing is a structured approach to ensuring quality all the way through your work processes. The focus is on discovering the sources of errors through fact-based problem solving techniques, such as the Five Whys and A3 methods. The good news is that we need only learn to use the same techniques that have been developed over the past fifty or sixty years.

Traditionally, many organizations centered on identifying and counting defects detected during development and then attempted to fix them in the later phases of the development. I would again present the challenge of eliminating the need for a defect management system and the practice of making release decisions based on achieving an “acceptable” number of detected defects. There is rarely a concerted effort to find the root cause and eliminate the cause of defects in order to prevent them from occurring in the first place.

Even as organizations have implemented agile techniques, many have not made this critical shift in thinking. While they have become better than they were in the past, they have plenty of room to improve by using error-proofing techniques, such as continuous integration and test, automated unit and acceptance level testing, and shortened time cycles. Only then will they really see the benefits in lower cost, faster speed, and increased customer satisfaction. Remember that agility is a dial, like a volume control, and not a switch; You don’t just turn it on. The goal is to increase agility until you and your customers are comfortable.

Read " The Zero Defect Vision" Part 2, in which I will examine the common sources of errors in product development activities; by being aware of the things we can change in our environments, we can reach our goal of preventing errors. Then, a number of techniques can be employed in order to help teams work towards a zero defect goal.

About the Author
Bob Schatz is a twenty-nine-year veteran in the field of enterprise software and systems development and leadership. He has held positions from developer to C-level executive. Currently, Bob is the owner of Agile Infusion, a training and consulting practice that helps large enterprises successfully adopt lean and agile practices.

Trackback(0)

Comments (4)Add Comment

0
...
written by Patrick Upson, January 12, 2012
I hate to be the one to point it out, but Doctors don't have a 100% success rate. Not to mention the techniques they use were developed over centuries on many different patients. A lot of which didn't survive the first round of "testing".

Similar to that, if you look at any of the other professions mentioned in the article airline pilot, bridge-builder, car manufacturer, or pharmaceutical company. NONE of them are 100% successful all the time. Often even after they get out of their test phases the main product still fails.

Pilots are still reported in the news as falling asleep or not paying attention when something goes wrong. Pharmaceuticals are pulled off the shelf after they're discovered to not only be ineffective, but dangerous. Cars malfunction (Toyota has been in the news with in the last two years for major failures). Bridges have and do collapsed. There is not one profession or product out there that errors never occur in.

That being said, there is no excuse for us not to try our hardest to avoid errors whenever possible, but it's not right to give managers the impression that developers should be infallible. Especially, As Mark Dennison pointed out, when a certain columnist, who I expect has an editor checking his columns, can't produce a piece without errors in it. But I guess 1 out of 1267 words falls in the 99.9997% first pass ratio, so good job. smilies/wink.gif
Barry Myburgh
...
written by Barry Myburgh, January 12, 2012
I fear that there is a fundamental mis-match between striving for zero defect while simultaneously benefitting from an agile approach to software development. For example, to achieve a 99.9997 percent first-time pass rate requires that we have a very high level of visible detail about the features and functions that are to be tested. This level of visibility is achieved by the time-consuming act of developing comprehensive statements of requirements, specifications and designs. But agility usually means we don't have the time - latest Scrum guidelines require sprints of no more than a month at a time. As long as we prefer to exploit the uniqueness of software development, we should not expect to derive full benefit from classical practices promoted by Deming, Juran and others.
0
...
written by Mark Dennison, January 11, 2012
Is the misspelling of "similiar" in the second paragraph the exception that proves your rule? smilies/wink.gif
0
...
written by Pablo Straub, January 11, 2012
The goal "to achieve a 99.9997 percent first-time pass rates" not only looks hard with all these nines but is obscure. What's the meaning of first-time pass rate? Whatever that means, 99.9997% good implies 0.0003% bad so it means one bad in 333,333. Plase explain what is the good and bad here.

Write comment

security code
Write the displayed characters


busy
Last Updated on Tuesday, 10 January 2012 12:59
 
Cialis

Agile Marketplace - Announcements and Special Offers

Upcoming Webcasts
Sponsored by Urbancode - On Demand
Mastering Complex Application Deployment
Sponsored by CollabNet - Wednesday, August 24, 2011
Closing the Agile Loop: Continuous Integration, Continuous Information

ScrumWorks Pro – The World’s Best Agile Project Management Tool
Simply put, CollabNet’s ScrumWorks Pro is the best Agile project management solution on the market, bar none. More than 150,000 Agile professionals rely on the power and simplicity of ScrumWorks every day.  But don’t take our word for it – try it yourself for free. CollabNet is now providing the first 10 users of ScrumWorks Pro at no charge!
Download ScrumWorks Pro today!

The Business Case for ALM Transformation
Are legacy systems holding your company back?  Breakthrough these technical constraints with an open and scalable environment that meets your unique business need to transform. There is no reason to be locked into an obsolete platform. The output of a number of recent transitions from legacy systems, this is practical white paper shares lessons learned and illustrates how guidance and enablement can pave the way for change.
Download this Whitepaper