# Why Zero-Defect Goals Are Unrealistic in Software Development

DevFeed: [Why Zero-Defect Goals Are Unrealistic in Software Development](<https://devfeed.tech/articles/zero-defects-are-you-kidding-me-30444.md>)

Original publisher: [Read original article](<https://www.mdubakov.com/posts/zero-defects/>)

Published: 2009-03-19T15:41:57Z

Content type: opinion

Language: en

Sources: [Blog by Michael Dubakov](<https://devfeed.tech/sources/blog-by-michael-dubakov.md>)

Topics: [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Development](<https://devfeed.tech/topics/development.md>), [bug](<https://devfeed.tech/topics/bug.md>), [Test-driven development](<https://devfeed.tech/topics/tdd.md>), [unit tests](<https://devfeed.tech/topics/unit-tests.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [defects](<https://devfeed.tech/tags/defects.md>), [refactor](<https://devfeed.tech/tags/refactor.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [tdd](<https://devfeed.tech/tags/tdd.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

## AI overview

The article argues that a zero-defects mentality can suppress initiative, discourage refactoring, and encourage risk-averse decisions. Because software is difficult to test and predict, production bugs cannot be eliminated entirely, though development practices such as Test Driven Development and unit testing can help minimize them.

## Source excerpt

Are you familiar with zero defects mentality? It looks very good from the first sight. Zero defects... Let me think... Well, cool! I like it! I'd like to have zero defects in my projects. So, what is zero defects mentality? Here is the quote from Lean Software Development an Agile Toolkit book: "One of the fastest ways to kill motivation is what is called in the US Army a zero defects mentality. A zero defects mentality is an atmosphere that tolerates absolutely no mistakes; perfection is required down to the smallest detail. The army considers a zero defects mentality to be a serious leadership problem, because it kills the initiative necessary for success on a battlefield" -- Mary & Tom Poppendieck Obviously, zero defects mentality is not something that HOUSE M.D. likes ;) Moreover, I think Dr. House hates zero defects mentality. It causes several unpleasant effects: Not enough courage to refactor complex, messy, buggy, but important piece of code. Can't make important decision, instead make less risky, but wrong decision. Do everything to avoid responsibility, that leads to coward and stupid behavior. "Zero defects" may sound good. But in reality you still have errors after production. Even in predictable and (quite) easily testable industries (hardware, automobile, etc.) there are problems with 100,000 power adapters that should be replaced (or hard drive problems, or engine problems, I bet you can continue the list). How can we expect zero defects in software development? It is harder to test, harder to define in details, harder to predict. Software development is a complex adaptive system, we can't predict all effects. Bugs in production is a normal thing, and by "normal" I mean we can't bring them to zero. We can (and should) minimize them using all possible ways, but The Last Bug is a mirage. There are several obvious strategies that may help: Test Driven Development. Nice side effect of TDD is a unit tests suite. You have tests for new code, and you have unit te