Copyright © Cem Kaner
January, 1996
"Because the main language of [corporate management] was money, there emerged the concept of studying quality-related costs as a means of communication between the quality staff departments and the company managers."[1]
Joseph Juran, one of the worlds leading quality theorists, has been advocating the analysis of quality-related costs since 1951, when he published the first edition of his Quality Control Handbook. Feigenbaum made it one of the core ideas underlying the Total Quality Management movement.[2] It is a tremendously powerful tool for product quality, including software quality.
What is Quality Cost Analysis?
Quality costs are the costs associated with preventing, finding, and correcting defective work. These costs are huge, running at 20% - 40% of sales. [3] Many of these costs can be significantly reduced or completely avoided. One of the key functions of a Quality Engineer is the reduction of the total cost of quality associated with a product.
Here are six useful definitions, as applied to software products. Figure 1 gives examples of the types of cost. Most of Figure 1s examples are (hopefully) self-explanatory, but Ill provide some additional notes on a few of the costs:[4]
Prevention Costs: Costs of activities that are specifically designed to prevent poor quality. Examples of "poor quality" include coding errors, design errors, mistakes in the user manuals, as well as badly documented or unmaintainably complex code.
Note that most of the prevention costs dont fit within the Testing Groups budget. This money is spent by the programming, design, and marketing staffs.
Appraisal Costs: Costs of activities designed to find quality problems, such as code inspections and any type of testing.
Design reviews are part prevention and part appraisal. To the degree that youre looking for errors in the proposed design itself when you do the review, youre doing an appraisal. To the degree that you are looking for ways to strengthen the design, you are doing prevention.
Failure Costs: Costs that result from poor quality, such as the cost of fixing bugs and the cost of dealing with customer complaints.
Internal Failure Costs: Failure costs that arise before your company supplies its product to the customer. Along with costs of finding and fixing bugs are many internal failure costs borne by groups outside of Product Development. If a bug blocks someone in your company from doing her job, the costs of the wasted time, the missed milestones, and the overtime to get back onto schedule are all internal failure costs.
For example, if your company sells thousands of copies of the same program, you will probably print several thousand copies of a multi-color box that contains and describes the program. You (your company) will often be able to get a much better deal by booking press time with the printer in advance. However, if you dont get the artwork to the printer on time, you might have to pay for some or all of that wasted press time anyway, and then you may have to pay additional printing fees and rush charges to get the printing done on the new schedule. This can be an added expense of many thousands of dollars.
Some programming groups treat user interface errors as low priority, leaving them until the end to fix. This can be a mistake. Marketing staff need pictures of the products screen long before the program is finished, in order to get the artwork for the box into the printer on time. User interface bugs the ones that will be fixed later can make it hard for these staff members to take (or mock up) accurate screen shots. Delays caused by these minor design flaws, or by bugs that block a packaging staff member from creating or printing special reports, can cause the company to miss its printer deadline.
Including costs like lost opportunity and cost of delays in numerical estimates of the total cost of quality can be controversial. Campanella (1990) [5] doesnt include these in a detailed listing of examples. Gryna (1988)[6] recommends against including costs like these in the published totals because fallout from the controversy over them can kill the entire quality cost accounting effort. I include them here because I sometimes find them very useful, even if it might not make sense to include them in a balance sheet.
External Failure Costs: Failure costs that arise after your company supplies the product to the customer, such as customer service costs, or the cost of patching a released product and distributing the patch.
External failure costs are huge. It is much cheaper to fix problems before shipping the defective product to customers.
Some of these costs must be treated with care. For example, the cost of public relations efforts to soften the publicity effects of bugs is probably not a huge percentage of your companys PR budget. You cant charge the entire PR budget as a quality-related cost. But any money that the PR group has to spend to specifically cope with potentially bad publicity due to bugs is a failure cost.
Ive omitted from Figure 1 several additional costs that I dont know how to estimate, and that I suspect are too often too controversial to use. Of these, my two strongest themes are cost of high turnover (people quit over quality-related frustration this definitely includes sales staff, not just development and support) and cost of lost pride (many people will work less hard, with less care, if they believe that the final product will be low quality no matter what they do.)
Total Cost of Quality: The sum of costs: Prevention + Appraisal + Internal Failure + External Failure.
Figure 1. Examples of Quality Costs Associated with Software Products.
|
Prevention
|
Appraisal |
|
|
|
Internal Failure
|
External Failure |
|
|
What Makes this Approach Powerful?
Over the long term, a project (or corporate) cost accounting system that tracks quality-related costs can be a fundamentally important management tool. This is the path that Juran and Feigenbaum will lead you down, and they and their followers have frequently and eloquently explained the path, the system, and the goal.
I generally work with young, consumer-oriented software companies who dont see TQM programs as their top priority, and therefore my approach is more tactical. There is significant benefit in using the language and insights of quality cost analysis, on a project/product by project/product basis, even in a company that has no interest in Total Quality Management or other formal quality management models.[12]
Heres an example. Suppose that some feature has been designed in a way that you believe will be awkward and annoying for the customer. You raise the issue and the project manager rejects your report as subjective. Its "not a bug." Where do you go if you dont want to drop this issue? One approach is to keep taking it to higher-level managers within product development (or within the company as a whole). But without additional arguments, youll often keep losing, without making any friends in the process.
Suppose that you change your emphasis instead. Rather than saying that, in your opinion, customers wont be happy, collect some other data:[13]
Ask the writers: Is this design odd enough that it is causing extra effort to document? Would a simpler design reduce writing time and the number of pages in the manual?
Ask the training staff: Are they going to have to spend extra time in class, and to write more supplementary materials because of this design?
Ask Technical Support and Customer Service: Will this design increase support costs? Will it take longer to train support staff? Will there be more calls for explanations or help? More complaints? Have customers asked for refunds in previous versions of the product because of features designed like this one?
Check for related problems: Is this design having other effects on the reliability of the program? Has it caused other bugs? (Look in the database.) Made the code harder to change? (Ask the programmers.)
Ask the sales staff: If you think that this feature is very visible, and visibly wrong, ask whether it will interfere with sales demonstrations, or add to customer resistance.
What about magazine reviews? Is this problem likely to be visible enough to be complained about by reviewers? If you think so, check your impression with someone in Marketing or PR.
You wont get cost estimates from everyone, but you might be able to get ballpark estimates from most, along with one or two carefully considered estimates. This is enough to give you a range to present at the next project meeting, or in a follow-up to your original bug report. Notice the difference in your posture:
Youre no longer presenting your opinion that the feature is a problem. Youre presenting information collected from several parts of the company that demonstrates that this features design is a problem.
Youre no longer arguing that the feature should be changed just to improve the quality. No one else in the room can posture and say that youre being "idealistic" whereas a more pragmatic, real-world businessperson wouldnt worry about problems like this one. Instead, youre the one making the hard-nosed business argument, "This design is going to cost us $X in failure costs. How much will it cost to fix it?"
Your estimates are based on information from other stakeholders in this project. If youve fairly represented their views, youll get support from them, at least to the extent of them saying that you are honestly representing the data youve collected.
Along with arguing about individual bugs, or groups of bugs, this approach opens up opportunities for you (and other non-testers who come to realize the power of your approach) to make business cases on several other types of issues. For example:
The question of who should do unit testing (the programmers, the testers, or no one) can be phrased and studied as a cost-of-quality issue. The programmers might be more efficient than testers who dont know the code, but the testers might be less expensive per hour than the programmers, and easier to recruit and train, and safer (unlike newly added programmers, new testers cant write new bugs into the code) to add late in the project.
The depth of the user manuals index is a cost-of-quality issue. An excellent index might cost 35 indexer-minutes per page of the manual (so a 200 page book would take over three person-weeks to index). Trade this cost against the reduction in support calls because people can find answers to their questions in the manual.
The best investment to achieve better quality might be additional training and staffing of the programming group (prevent the bugs rather than find and fix them).
You (in combination with the Documentation, Marketing, or Customer Service group) might demonstrate that the user interface must be fixed and frozen sooner because of the impact of late changes on the costs of developing documentation, packaging, marketing collaterals, training materials, and support materials.
Implementation Risks
Gryna (1988) [14] and Juran & Gryna (1980) [15] point out several problems that have caused cost-of-quality approaches to fail. Ill mention two of the main ones here.
First, its unwise to try to achieve too much, too fast. For example, dont try to apply a quality cost system to every project until youve applied it successfully to one project. And dont try to measure all of the costs, because you probably cant. [16]
Second, beware of insisting on controversial costs. Gryna (1988) [17] points out several types of costs that other managers might challenge as not being quality-related. If you include these costs in your totals (such as total cost of quality), some readers will believe that you are padding these totals, to achieve a more dramatic effect. Grynas advice is to not include them. This is usually wise advice, but it can lead you to underestimate your customers probable dissatisfaction with your product. As we see in the next section, down that road lies LawyerLand.
The Dark Side of Quality Cost Analysis
Quality Cost Analysis looks at the companys costs, not the customers costs. The manufacturer and seller are definitely not the only people who suffer quality-related costs. The customer suffers quality-related costs too. If a manufacturer sells a bad product, the customer faces significant expenses in dealing with that bad product.
The Ford Pinto litigation provided the most famous example of a quality cost analysis that evaluated company costs without considering customers costs from the customers viewpoint. Among the documents produced in these cases was the Grush-Saunby report, which looked at costs associated with fuel tank integrity. The key calculations appeared in Table 3 of the report: [18]
|
Benefits and Costs Relating to Fuel Leakage Associated with the Static Rollover Test Portion of FMVSS 208 |
|
Benefits Savings 180 burn deaths, 180 serious burn injuries, 2100 burned vehicles Unit Cost -- $200,000 per death, $67,000 per injury, $700 per vehicle Total Benefit 180 x ($200,000) + 180 x ($67,000) + 2100 x ($700) = $49.5 million. |
|
Costs Sales 11 million cars, 1.5 million light trucks. Unit Cost -- $11 per car, $11 per truck Total Cost 11,000,000 x ($11) + 1,500,000 x ($11) = $137 million. |
In other words, it looked cheaper to pay an average of $200,000 per death in lawsuit costs than to pay $11 per car to prevent fuel tank explosions. Ultimately, the lawsuit losses were much higher. [19]
This kind of analysis didnt go away with the Pinto. For example, in the more recent case of General Motors Corp. v. Johnston (1992), [20] a PROM controlled the fuel injector in a pickup truck. The truck stalled because of a defect in the PROM and in the ensuing accident, Johnstons seven-year old grandchild was killed. The Alabama Supreme Court justified an award of $7.5 million in punitive damages against GM by noting that GM "saved approximately $42,000,000 by not having a recall or otherwise notifying its purchasers of the problem related to the PROM."
Most software failures dont lead to deaths. Most software projects involve conscious tradeoffs among several factors, including cost, time to completion, richness of the feature set, and reliability. There is nothing wrong with doing this type of business tradeoff, consciously and explicitly, unless you fail to take into account the fact that some of the problems that you leave in the product might cost your customers much, much more than they cost your company. Figure 2 lists some of the external failure costs that are borne by customers, rather than by the company.
Figure 2. Comparison of External Failure Costs Borne by the Buyer and the Seller
|
Seller: external failure
costs |
Customer: failure costs |
|
These are the types of costs absorbed by the seller that releases a defective product. |
These are the types of costs absorbed by the customer who buys a defective product. |
|
|
The point of quality-related litigation is to transfer some of the costs borne by a cheated or injured customer back to the maker or seller of the defective product. The well-publicized cases are for disastrous personal injuries, but there are plenty of cases against computer companies and software companies for breach of contract, breach of warranty, fraud, etc.
The problem of cost-of-quality analysis is that it sets us up to underestimate our litigation and customer dissatisfaction risks. We think, when we have estimated the total cost of quality associated with a project, that we have done a fairly complete analysis. But if we dont take customers external failure costs into account at some point, we can be surprised by huge increased costs (lawsuits) over decisions that we thought, in our incomplete analyses, were safe and reasonable.
Gryna, F. M. (1988) "Quality Costs" in Juran, J.M. & Gryna, F. M. (1988, 4th Ed.), Jurans Quality Control Handbook, McGraw-Hill, page 4.2.
Feigenbaum, A.V. (1991, 3rd Ed. Revised), Total Quality Control, McGraw-Hill, Chapter 7.
Gryna, F. M. "Quality Costs" in Juran, J.M. & Gryna, F. M. (1988, 4th Ed.), Jurans Quality Control Handbook, McGraw-Hill, page 4.2. Im not aware of reliable data on quality costs in software.
These are my translations of the ideas for a software development audience. More general, and more complete, definitions are available in Campanella, J. (Ed.) (1990), Principles of Quality Costs, ASQC Quality Press, as well as in Jurans and Feigenbaums works.
Principles of Quality Costs, ASQC Quality Press, Appendix B, "Detailed Description of Quality Cost Elements."
"Quality Costs" in Juran, J.M. & Gryna, F. M. (1988, 4th Ed.), Jurans Quality Control Handbook, McGraw-Hill, pages 4.9 - 4.12.
The product is scheduled for release on July 1, so your company arranges (far in advance) for an advertising campaign starting July 10. The product has too many bugs to ship, and is delayed until December. All that advertising money was wasted.
If the product had to be shipped late because of bugs that had to be fixed, the direct cost of late shipment includes the lost sales, whereas the opportunity cost of the late shipment includes the costs of delaying other projects while everyone finished this one.
Note, by the way, that you can reduce external failure costs without improving product quality. To reduce post-sale support costs without increasing customer satisfaction, charge people for support. Switch from a toll-free support line to a toll line, cut your support staff size and you can leave callers on hold for a long time at their expense. This discourages them from calling back. Because these cost reductions dont increase customer satisfaction, the sellers cost of quality is going down, but the customers is not.
This is the cost of cooperating with a government investigation. Even if your company isnt charged or penalized, you spend money on lawyers, etc.
Some penalties are written into the contract between the software developer and the purchaser, and the developer pays them if the product is late or has specified problems. Other penalties are imposed by law. For example, the developer/publisher of a computer program that prepares United States taxes is liable for penalties to the Internal Revenue Service for errors in tax returns that are caused by bugs or design errors in the program. The publishers are treated like other tax preparers (accountants, tax lawyers, etc.). See Revenue Ruling 85-189 in Cumulative Bulletin, 1985-2, page 341.
I am most definitely not saying that a tactical approach is more practical than an integrated, long-term approach. Gryna notes that there are two common approaches to cost-of-quality programs. One approach involves one-shot studies that help the company identify targets for significant improvement. The other approach incorporates quality cost control into the structure of the business. (Gryna, 1988, in Juran, J. M. & Gryna, F. M. (1988, 4th Ed.), Jurans Quality Control Handbook, McGraw-Hill, pages 4.2 onward.) The one-shot, tactical approach can prove the benefit of the more strategic, long-term system to a skeptical company.
Be sensitive to how you do this. If you adopt a tone that says that you think the project manager and the programming staff are idiots, you wont enjoy the long-term results.
in Juran, J. M. & Gryna, F. M. (1988, 4th Ed.), Jurans Quality Control Handbook, McGraw-Hill, pages 4.27-4.28.
Quality Planning and Analysis (2nd Ed.), McGraw-Hill, pages 30-32. Also, see Brown, M. G., Hitchcock, D. E. & Willard, M. L. (1994), Why TQM Fails and What To Do About It, Irwin Professional Publishing.
As he says in Juran, J.M. (1992), Juran on Quality by Design, The Free Press, p. 119, Costs of poor quality "are huge, but the amounts are not known with precision. In most companies the accounting system provides only a minority of the information needed to quantify this cost of poor quality. It takes a great deal of time and effort to extend the accounting system so as to provide full coverage. Most companies have concluded that such an effort is not cost effective. [¶] What can be done is to fill the gap by estimates, which provide managers with approximate information as to the total cost of poor quality and as to where the major areas of concentration are."
"Quality Costs" in Juran, J.M. & Gryna, F. M. (1988, 4th Ed.), Jurans Quality Control Handbook, McGraw-Hill, pages 4.9 - 4.12.
This table is published in Keeton, W. P., Owen, D.G., Montgomery, J. E., & Green, M.D. (1989, 2nd Ed.) Products Liability and Safety, Cases and Materials, Foundation Press, page 841 and Posner, R.A. (1982) Tort Law: Cases and Economic Analysis, Little Brown & Co., page 225.
Grimshaw v. Ford Motor Co. (1981), (California Court of Appeal), California Reporter, volume 174, page 348.
Southern Reporter, 2nd Series, volume 592, pages 1054 and 1061.