What is Bugs Zero?
#BugsZero means a lot of things. Here are a bunch of definitions:
#BugsZero is a hashtag for an idea
#BugsZero is also a brand
A #BugsZero team/project/organization believes that software bugs are not inevitable. We need not suffer under a steady stream of defects, finding and fixing for eternity. We can control our bug destiny.
#BugsZero is the decision to treat every bug as an opportunity - an opportunity to learn about a hazard in our system, and that hazard can be mitigated.
#BugsZero is the belief that it is possible for the defect-creation rate to decrease over time, even as the system becomes richer and more valuable.
#BugsZero is the commitment to invest in doing the above.
#BugsZero is the goal, where most of the time the bug database is empty; a defect shows up occasionally and is quickly addressed and thoroughly Safeguarded; the time between defects steadily increases
Note that #BugsZero is mostly not about testing - it’s not about catching defects before you release. It’s about changing the underlying causes of the creation of defects.
There are two immediate reasons to pursue #BugsZero:
- Our customers want higher quality
- We spend a lot of time on defects and would rather use that time for something valuable
A beneficial consequence of getting to #BugsZero is:
- Release at Will: We can ship on any cadence. We can ship during the busiest part of the day, or right before going on vacation.
How to do it?
Step 1: Do Safeguarding. Do it on defects or on near misses. If doing it on all defects is too much, do it on a subset, but the more you do it, the quicker you’ll get #BugsZero.
Step 2: When Safeguarding doesn’t go well, investigate and fix that.