About the Post

Author Information

Author and chief editor of the effizine, online magazine for busy professionals desperate for getting things done efficiently


Back in 1982, The Atlantic published an article by Wilson and Kelling called “Broken Windows”, in which the authors promoted the idea that small problems, unless fixed promptly, would lead to more problems, and the problems themselves growing larger into full criminal acts. Later, Dave Hunt and Andy Thomas, in their book The Pragmatic Programmer, extended this concept to software. No software is perfectly written: it has bugs, it is possibly an expression of some bad design, it contains sub-optimal poorly-written code. Their viewpoint is that this is the equivalent of broken windows. Most of the software must not be “released to QA”, but released and living in QA, meaning that there should be more versions being perpetually tested, bounced back and forth between Development and QA very quickly allowing bugs to be “paid off” (addressed) quickly. Management should accept that development is going to be coming with plenty of releases only a small fraction of all releases available to QA will reach production. There should be a mutual agreement between managers that lots of releases, lots of testing resulting in just few implementations is a good thing, as long as bugs as treated as debt and that debt is being paid off quickly. Severity of a bug is not a number, it’s a vector of impact and the time taken to fix it. It’s not about development time taken to produce quality, it’s not about QA time to assure quality, it’s about the whole business and total product’s debt incurred by bug’s lifespan in production.

Comments are closed.