A Few Notes On Quality
James McGovern talks about quality in a recent post. In the shadow of six-sigma, TQM, ISO 9xxx and CMMI, we need to remind ourselves that the pursuit of quality has lead some to the brink of insanity. Perhaps it's the methods we have been cajoled into employing for measuring quality that are insane.
Feigenbaum, Deming and their contemporaries were the first to apply statistical analysis to quality management in the 1930's. In Total Quality Control, Feigenbaum states, “In the phrase ‘quality-control’, the word quality does not have the popular meaning of ‘best’ in any absolute sense. To industry, it means ‘best for certain customer conditions’.” Perfection can be measured because there must be one, ultimate example the desired product. The existence of an exemplar is the basis for six-sigma and all the other quality control methods in industry. However, this poses a bit of a problem for software development.
How so? Well, in most cases the goal of software development is to build a single instance of an exemplar! Using methods designed to measure defects or deviations from an exemplar in order to create that exemplar seems to be a little unrealistic. Does that mean we fall back to "best for certain customer conditions"? Of course, this begs the question, what is quality and how is quality measured?
This very question vexed Robert M. Pirsig so much, that he was eventually incarcerated in a psychiatric facility for a number of years. In his world-famous book, Zen And The Art Of Motorcycle Maintenance: An Inquiry into Values, Pirsig writes, “Quality … you know what it is, yet you don’t know what it is. But that’s self-contradictory. But some things are better than others, that is, they have more quality. But when you try to say what the quality is, apart from the things that have it, it all goes poof! There’s nothing to talk about. But if you can’t say what Quality is, how do you know what it is, or how do you even know that it even exists?” Pirsig’s approach was to establish a stable system. Using one of his college classes as an experiment in quality, he informed his students that he would be withholding letter grades just in their class until the end of the semester. “Then a hoped-for phenomenon began. During the third or fourth week some of the A students began to get nervous and started to turn in superb work and hang around after class with questions that fished for some indication as to how they were doing. The B and high-C students began to notice this and work a little and bring up the quality of their papers to a more usual level. The low C, D and future Fs began to show up for class just to see what was going on.” Pirsig had hoped and predicted that his students knew exactly what quality was and without any measure of their progress whatsoever, would know exactly what they had to do to improve the quality of their work. He then moves into a long dialog about the philosophy of quality and how quality is defined and recognized, however, he does not manage to find how quality can be measured.
I think we all know when a piece of software is crap. Instead of exerting effort devising methods to measure quality, enforce quality, etc., why can't we just spend all that superfluous time and effort preventing problems in the first place and fixing them, when they occur?
