I authored the following article for CMP Media (c) 2002-2003 which appeared in the Developer Market News, December 2002 issue. Access to the newsletter is limited, but this appears with permission.
Software's Quest for Quality
Software Development – Reaching Puberty in a Demanding Market
by Jim Sherburne
Consumer computing is a mere two decades old — and as an industry it has been characterized by changes at an exponential rate rarely seen in other industrial sectors. Over its admittedly short history, the software industry has been plagued with an inability to produce products that would meet even the most rudimentary of quality standards for just about any other industry you could imagine. I think an examination of why this has happened, the impact on the software industry today, and what the future is likely to bring has value. I will be discussing this in some detail in this issue and the next two.
Having been a part of this for the better part of those two decades, I can personally attest to the willingness of consumers to forgive imperfections in exchange for innovative products fuel constant change. This cycle of non-stop change has had the largely unanticipated side effect of keeping the industry stalled in a nonproductive and flawed creative cycle.
Why do we tolerate it?
Software has steadily continued its rise to prominence in industry. Along the way however, what it has NOT done is to step up to implementing stronger measures to ensure software quality. End user demands for high quality software have increased, but measures necessary for producers of software to implement improved software quality have just not happened.
The obvious question is why not? Throughout the entire history of consumer software, and most particularly during the boom of the late 90’s, priority one for software applications was – get it out the door before the competition. If anything doesn’t work, fix it in the next release. The inevitable result of this mad dash was that products shipped with bugs. Was this the result of a defective quality assurance process? Possible, but not likely. In my own experience the typical reaction to a QA request for an absolute minimum of thirty days testing is almost always greeted by a round of snickers, smirks and guffaws. The poor souls responsible for executing the quality assurance process will count themselves lucky if they actually get 48-72 hours to test. Anything longer will be a bonus.
Customers became accustomed to hearing the bugs would be fixed “next release”. They accepted the process of reliance upon incremental patches to correct the ever-present issues. While the software consumer’s patience with imperfection is considerable, it no longer verges on the infinite. Historically, an extraordinary level of innovation has energized the software market. Bugs were expected, even accepted, when they were in products that quickly become obsolete when further innovations were discovered. Even popular software products that gain a wide public acceptance go through several such iterations within a short period of time. At the tender age of twenty however, the software consumer is now looking to the industry to actually start acting like an adult.
The State of Quality in the Software Industry
When you start to examine to state of quality in software, you can gain valuable perspective by looking at how other industries have handled the same issues. In the instance of the manufacturing industry, the contributions of a particular individual stand out. On October 25,1999, the Los Angeles Times published an article called “The 50: People Who Most Influenced Business This Century”. Quality guru W. Edwards Deming was near the top of that list.
Deming was a statistician whose first insights into manufacturing processes were published in the 1930’s. Ever since that time he had been interested in using statistics as a tool to achieve better quality control. Essentially, his idea was to record the number of product defects, analyze why they happened, effect the appropriate corrections, then record how much quality improved, and to keep refining the process until it is done right. Deming urged companies to concentrate on constant improvements, improved efficiency and doing it right the first time. His 14 points for management are universally credited with transforming the face of manufacturing. What he did in these 14 points was to identify principles and strategies for manufacturing organizations that provide insights into how companies can prevent defects and produce better products.
His writings were particularly well received in Japan, and much of the credit for Japan's attaining a world-class reputation for quality in the wake of World War II can be attributed to the wholesale adoption of his principles. One of his key insights is the need for a system of metrics that measures the anomalies within a manufacturing process so that organizations can identify where they occur, and institute the appropriate checkpoints to prepare for the anomalies that arise. With an understanding of the entire process, the knowledge of how pieces interact during the product development lifecycle, and identifying the anomalies that come up during the production stages, organizations can establish a process for building products with a higher degree of quality.
These insights in the production of everything from automobiles to appliances to television sets achieved profound improvements in the quality of manufactured goods around the world. I would submit they are equally valid for software and could easily have the same profound impacts on quality.
So why didn’t the software industry pay attention?
Part of the problem resides in how the software industry perceives itself. Those of us involved in the industry typically think of ourselves as part of the “new economy”, and assume implicitly that the “old economy” has little or nothing to teach us. We didn’t appreciate that the “old economy” did indeed have some valuable lessons to teach, particularly in quality management practices that had proven successful for over 70 years.
Consumer software has made some efforts to establish quality management processes – notably efforts like ISO 9001 and CMM, but they have met with very limited success. I’ll go into why the next time.
RETURN TO RESUME
RETURN TO PROFESSIONAL BIOGRAPHY