There are a few things to notice here. First, even though the cost ratios don't match the generally accepted ratios according to Pressman, one trend is clear: The later in the project you fix the defects, the more it costs to fix the defects. Second, none of these companies tracked their defect cost before coding started.
Had they tracked defects found and fixed during requirements and design, they could have tracked the defect cost before coding started. Armed with that information, they might have chosen different activities designed find more defects earlier. When compared only with Company B, that might make sense, as Company A's product was larger. When compared with Company C's costs, though, Company A's costs seem extremely large. Though Company C had a larger, more complex product than Company A, and had much less cost to fix defects.
It also had the smallest application. Its costs would have been dramatically higher if it had had to fix a defect once the product was in the field. If you considered only the cost to fix a defect during system test, Company C's costs would look worse than the others. In reality, it was the best able to deal with defects, because it found the defects earlier and took less time to fix them than did the other companies.
You can apply the defect cost-estimating technique to your own environment. First, follow the formula above to calculate the costs of the defects you find, and then determine how many defects you find and can fix at each stage. If your costs are higher than you would like, using the data can help you to change how you develop products.
Remember, defects found earlier are less costly to fix, which means you can fix many more of them and keep overall costs down. Strategies such as peer walkthroughs during development, defining requirements and inspecting the requirements documents, and writing down and inspecting the design can help you do this. If your customers won't wait for your product, then maybe you can afford to find and fix defects later in the project, if you absolutely have to ship now.
Regardless, you're going to pay in some way. Either you take the extra time and pay less to fix the defects before you ship, or you incur technical debt for your product and fix the defects after you ship, when it costs more and you run the risk of alienating your customers. Remember — it will never cost you less to fix a defect than the moment you find it. If your customers are pressuring you to ship faster, then using a technique such as build-and-test-every-night will help at the end of the project.
In addition, judicious use of inspections during requirements and design will help reduce the number of defects and cost to fix them dramatically. Pressman, Roger S. Weinberg, Gerald M. All rights reserved. Republication or redistribution of Catapulse, Inc.
Catapulse, Inc. Like this article? See the other articles. Or, look at my workshops , so you can see how to use advice like this where you work. This site uses Akismet to reduce spam.
However, the detection and prevention of defects is a significant challenge in the software industry. A large portion of the cost of software development consists of error removal and reworking on projects.
The reworking process costs more than the initial process so early detection of defects during the design and requirements phase is necessary to avoid this extra expense. A large number of defects usually occur in the initial stages of a project and early defect detection will lower the overall cost of the project.
The cost of finding and fixing defects rises considerably across the life cycle. This is because the requirements and design specifications will require rework before changes can be made to the code.
Also, a single defect in the requirements may well propagate into several places in the design and code and, because of that, all the testing work done up until that point will need to be repeated in order to reach the confidence level in the software that we require.
Companies Who Learned the Hard Way You might think a software bug can only be so bad, or that any bug big enough to cause significant financial distress will be a complex mathematical error. An Argument for Agile and Continuous Testing As technology evolves, so do our development methodologies and knowledge of testing practices. The moral of the story is to test your software. You Might Also Like. By Sergejs Cuhrajs.
Getting you to the next level of quality with Zephyr family. As winds down, we wanted to share an overview of the new things the Zephyr team Manage Test. The Kingdom of Quality is in disarray. Everyone works in silos — developers By Amber Haskell. Since , Bottom Line has addressed the low college graduation rates of first News Life at SB.
0コメント