2 ms·
As gshulegaard has mentioned, I think you're taking the name Zero-Bug to mean something different than what I intended. Zero-Bug does not mean writing software
by samhatoum 10y ago
As gshulegaard has mentioned, I think you're taking the name Zero-Bug to mean something different than what I intended.
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 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.
- kazinator 10y agoYou're working with a definition of "Zero Bug" that doesn't arise from the meanings of "bug" and "zero" combined together in the obvious, orthogonal way. 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.
- samhatoum 10y agoI like you're reasoning! 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?
- kazinator 10y agoI'm not sure about what glib phrase I would use (say, consisting of just two words) but the main idea in the overall approach is that we stay on top of critical bugs. If we have critical bugs, we don't do anything else until they are solved. We don't polish the chrome on some shiny new feature, while a fire is raging. So this is "Bugs First" or something. Except it's not all bugs first, just the showstoppers. "Fires First?" Hmm, what's a glib word that clearly means "show-stopper defect"? 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?
- samhatoum 10y agoIt's not just about critical bugs though. Those are "stop what you're doing and get on it". ANY bug that is not critical gets worked on next no matter what. So it's about all bugs getting priority over other work. 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.
- kazinator 10y agoI understand; but it's hard for some convenient phrase to cover every aspect of the process. So in the end there has to be some understanding that it's the name of some process that has more aspects than just the literal meaning. (Just like "Zero Bugs").