It's saying, after you've classified the bugs, you're not to do any other work until the bug list is cleared. This will lead you to zero-bugs (of the known ones of course).
I've implemented and seen this first-hand in 4 different companies.
Let me word it differently.
You classify tickets into categories A,B,X,Y. You always clear out A and B before doing anything else. As a strategy to have "zero unresolved important issues", it's valid.
The disconnect is between the "Bug" ticket category, and the actual definition of what a bug is.
"Web font is being downloaded when it should be embedded in the app" is clearly a bug, by the normal definition of bug.
This system classifies by priority to get Critical/"Bug"/Other, and it further divides the lowest priority into new features vs. changing features. At no point does it ask if something is a mistake. It doesn't care. So it shouldn't use the word 'bug'. It tricks people into thinking it's something it's not.
If however the loading time with downloading the fonts is something the team is not as per the team's quality standards and they are not willing to live with it, then it should absolutely remain as a bug.
Now that the classification portion is out of the way, the team priority is to work on bugs first no matter what.
So I'm saying that "the actual definition of what a bug is" should be stated as a guideline and the team can decide on an ongoing basis. Some guidelines might be rigid, others not so much.
I understand that the issue people have is with the wording of the zero-bug. As I've mentioned elsewhere it's still true that it is a striving towards zero-bug and I've seen it first hand where we get to 0 known bugs.
I'll meditate on this a little and see what I come up with. I really do appreciate this feedback :)
The main concern in software quality turning unknown bugs into known bugs, not with reshuffling the type and priority fields in a bug database (which is of course important).
"Zero bugs" means "exhaustively tested or else proved correct" (given a perfect set of high level requirements and detailed specification to begin with).
Any other use of "zero bugs" in a headline is clickbait.
The bugs that screw you are the unknown ones. Like security exploits that the Bad Guys find in the field before you do.
Zero-Bug does not mean writing software without defects - that's impossible, instead it means correctly classifying bugs and then striving to keep the bug-count at 0.
I've written another article on the three types of bugs, and one of those is the "unknown ones" you refer to. There are things you can do to tease out some unknowns, but of course there's no cure for bugs as a whole. It's here if you're interested: https://goo.gl/TlvNcY
On the clickbait, I assure you it's not. I labelled the approach Zero-Bug long before writing the article. It creates an attitude in a team. After I've worked with teams to clarify what Zero-Bug really means, they strived towards doing more checks before even pushing out code. We celebrated Zero-Bug days when we were actually down to 0 and believe it or not, I've seen up to 2 iterations at a go be free of bugs. Coincidence? I don't think so.
There are such compounds entrenched in the English language (like "new wave" or "blackboard") but they take decades to enter general use.
I don't think we need "zero bug" to be a non-compositional compound of this type. The terms "bug" and "zero" are too significant in computing for us to allow them to be hijacked like this.
For instance, we wouldn't redefine "zero latency" as being 5 seconds (say, in a situation in which we can't get it any shorter for the given span, due to the distance and the speed of light). Latency is latency, zero is zero, and five seconds isn't zero.
I urge you to reconsider your use of technical language.
There is no situation where zero latency actually means a latency of zero, whereas in the description I've provided there is a situation where you end up with zero bugs.
Out of interest, what would you call the action of striving towards zero bugs?
Another way to approach this is from the angle of: no customer is left to dangle in a situation where they aren't getting value from the product, where they are faced with an issue for which there is no feasible workaround, or some security breach. What's a glib phrase which quite precisely conveys the idea that try to prevent this situation at all costs, and get them out of it ASAP if it happens?
It's akin to an immune system. When a bug is found, it's attacked until it's dead.
I really appreciate this feedback. As there are a few people that the phrase is rubbing up the wrong way, I'll meditate on it a little and see what I come up with.
So it's an article on the development lifecycle and how to get consistent forward progress with some organizational improvements. It's not actually about writing software with "Zero" bugs.
After that, you are right, it's that simple. I even state that in the article that it's not complicated. Yet, not many seem to do it.
Click-bait? Not quite. I'm someone that is writing to genuinely provide my experience to others. In the article I discuss why it works and what it does in the long run. Where the origins of Zero-Defect comes from etc etc.
Sorry you didn't find it useful, I hope that some do, and I hope that you and your team are the type that don't need this advice.