Zero defects is the most cherished dream for any project leader/manager and moreover defined as the quality metric to measure deliverables. On a contrary note this is the most discouraged behavior in US army, they believe persistence for perfection might kill the initiative taking capabilities.
Zero defects might sound good but in real world bugs do exist post production rollout. 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 are 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 an eyewash.
Though there is no way to live upto this goal, there are couple of things we can do to minimize the bugs or keep a check on the quality of system:
- Test Driven Development.
- Continuous Integration.
- Automated regression functional tests suite.
- Root cause analysis. (Fix with proper impact analysis to save yourself & team from future bugs)
- Continuous Refactoring. (Keeps the codebase healthy).
The above discussion by no means encourages us to be complacent during coding infact it points us to the direction where we need to take more responsibility to find creative means to bug(s) avoidance. Stitch in time saves nine.
Feel free to share your ideas or reach me on firstname.lastname@example.org
Happy Project Management 🙂