Jim Bird recently pointed out that there’s a cost to building good software, so calls for Zero Bug Tolerance are sometimes misguided.
There’s a cost to put in place the necessary controls and practices, the checks and balances, and to build the team’s focus and commitment and discipline, and keep this up over time. To build the right culture, the right skills, and the right level of oversight. And there’s a cost to saying no to the customer: to cutting back on features, or asking for more time upfront, or delaying a release because of technical risks.
He goes on to say …
That’s why I am concerned by right-sounding technical demands for zero bug tolerance. This isn’t a technical decision that can be made by developers or testers or project managers … or consultants. It’s bigger than all of them. It’s not just a technical decision – it’s also a business decision.
Alistair Cockburn has pointed this out in his Crystal set of methodologies, that the cost of an error in different kinds of applications varies, and that an appropriate methodology takes this into account.
- Life and Safety Critical - things like pacemakers and flight control software
- Mission Critical - systems that the business depends on, if the system fails you make the evening news (for example a stock exchange)
- Departmental applications - yes the business depends on it, but a certain amount of downtime can be accepted
- Comfort - yes, twitter and facebook, I'm looking at you
Processes and verification procedures that are appropriate for a mission critical application would be detrimental to a departmental time booking application. A good test suite would be appropriate for both, but only the mission critical application needs a formal review of the test code to make sure it is covering the appropriate cases.
This is one of the reasons why I support Jim’s idea of being intolerant of the Zero Bug Tolerance mantra.
Wider Intolerance
Some ideas just fail the laugh test, but they are afforded too much deference by people who should know better. The Rugged Software Manifesto fails the laugh test as well.
After reading about the attempts to brand Alberta’s Tar Sands as “Ethical Oil”, maybe it is time to start laughing at politicians that espouse crazy ideas as well.
The UK Government Chief Scientific Adviser John Beddington recently called for scientists to be “grossly intolerant” if science is misused
“I really would urge you to be grossly intolerant,” he said. “We should not tolerate what is potentially something that can seriously undermine our ability to address important problems.”
Beddington also had harsh words for journalists who treat the opinions of non-scientist commentators as being equivalent to the opinions of what he called “properly trained, properly assessed” scientists. “The media see the discussions about really important scientific events as if it’s a bloody football match. It is ridiculous.”