What's the True Cost of Software Defects?
Software defects can be very expensive.
But What's the True Cost of Software Defects?
The general rule is 1:10:100.
That is, if a defect costs one unit (for example one hour or one dollar) to fix in requirements and design, it costs 10 units to fix in system testing or acceptance testing, and more than 100 units to fix in production.
In some cases, the cost to fix a defect in production costs much more than 100 times the cost of fixing it in the requirements phase.
Software Defects Cost Less When Caught Early
The cost of finding and fixing a defect increases at each stage of the application lifecycle. Problems in code are easier to fix before they impact other parts of the program. That's why it's so important to implement different types of software testing early.
It's possible that a defect found just before product release could be shown to a developer and fixed in a few minutes.
But that's unlikely. Unless the fixed code was completely unrelated to anything else in the codebase, there should at least be some regression testing done prior to release.
Software Defects Cost More in Regulated Industries
In regulated or safety-critical products, teams will also have to prove that the fix fully addressed the defect. And most teams focusing on process improvement would want to understand why the defect appeared when it did.
Was the process at fault? Or were there other changes to the code that uncovered this particular defect?
Were there test cases blocked until the very end? Or did the team not have good test coverage?
Answering these questions takes regression testing and root cause analysis.
Software Defects Cost More in Complex Products
That’s especially true if the final product is an integration of different components and libraries. This increases the overall complexity of the product once integration testing is complete.
In the vast majority of cases, a defect found later in the development lifecycle is more complex. It usually isn’t a simple forgotten statement or mistyping.
That's because testers have likely found, tracked, and fixed all of the defects that are easy-to-fix.
What is left is more difficult issues. They require creating testing and extensive defect analysis before a fix can be implemented. After that, it still requires regression testing and likely even some integration testing to verify the fix.
Lower the Cost of Software Defects
It's not always the case that finding and fixing a defect later is always more costly. But there is no good reason to use that fact to become complacent about finding and fixing defects early.
With Helix ALM, you'll be able to improve your test coverage. And that means you'll find more defects early on, before they become problems.