Cost of quality or lack thereof in software development
Table of Contents
A 2022 report by CISQ estimated that the cost of poor-quality software in the US has risen to at least $2.41 trillion, though not in the same proportions as in 2020. The accumulated technical debt (TD) of software has increased to about $1.52 trillion. Those numbers started to grow much quicker with the industry-wide adoption of AI coding assistants.
Researchers at Bilkent University revealed in a 2023 study that AI assistants generated code with a 30.5% error rate, and another 23.2% of the code was only partially correct. The accuracy rates differed across various AI code generators.
So, how to balance the cost of quality?
Definition of Cost of Quality (CoQ)
The Cost of Quality (CoQ) in software development encompasses all costs associated with ensuring that software products meet good quality standards. These costs are divided into two main categories: the costs of conformance and the costs of non-conformance.
Components of Cost of Quality
Conformance costs include:
- Prevention costs:
- Training and education
- Process improvement (Here's how quality should be measured)
- Tools and technologies
- Supplier capability evaluations
- Preventive maintenance
- Planning and documentation
- Security training and awareness programs
- Implementation of security controls and technologies
- Appraisal costs:
- Inspection and testing of incoming materials
- In-process and final inspection/testing
- Product audits
- Calibration of testing and inspection equipment
- Maintenance of test equipment
- Quality audits
- Security audits and assessments
- Penetration testing and vulnerability assessments
Non-conformance costs cover:
- Internal failure costs:
- Rework
- Re-inspection and re-testing
- Debugging
- Downtime caused by quality issues
- Incident response and recovery efforts for security breaches
- Investigation and remediation of internal security issues
- External failure costs:
- Customer complaints and returns processing
- Warranty claims
- Product recalls
- Liability costs
- Loss of reputation
- Lost sales
- Customer support
- Legal fees and settlements for security breaches
- Regulatory fines and penalties for security non-compliance
- Costs associated with bringing products or services into compliance
- Increased scrutiny and audits from regulatory bodies
- Loss of certifications or licenses
- Reputation management
IBM's System Science Institute study has shown that the cost of fixing defects multiplies in the later stages of software development life cycle. Fixing a bug during implementation is six times more expensive than fixing it during design. If the bug is found during testing, it costs fifteen times more to fix. Once the software is in production, fixing a bug can be a hundred times more expensive than if it was caught during the design phase. By comprehensively analyzing CoQ, you can identify where to invest in good quality improvements to minimize overall costs.
Don't take this lightly! Orca Security's State of Cloud Security Report 2024 claims that 62% of organizations have severe vulnerabilities in code repositories.
How to calculate quality costs?
Here's the comprehensive formula for calculating the Cost of Quality (COQ). It might seem like a lot, but it will save you time and money in the long run.
Prevention Costs (PC)
- Training
- Process improvements
Appraisal Costs (AC)
- Requirements review
- Code review
- Design review
- Testing
- Inspection and testing of incoming materials
- Product audits
- Calibration of testing and inspection equipment
- Maintenance of test equipment
- Quality audits
- Security audits and assessments
- Penetration testing and vulnerability assessments
Internal Failure Costs (IFC)
- Requirements re-do
- Coding re-do
- Re-inspection and re-testing
- Debugging
- Downtime caused by quality issues
- Failure analysis
- Repair and maintenance
- Design changes
- Quality control administration
External Failure Costs (EFC)
- Customer complaints and returns processing:
- Warranty claims cost
- Product recalls cost
- Liability costs
- Loss of reputation - Reputation management costs
- Lost sales cost
- Customer support:
- Regulatory fines and penalties
- Legal fees and settlements
Example calculation for cost of quality
Let's assume the following for a software development project with different hourly rates for different roles:
- Training: 50 hours at $60/hour
- Requirements review: 40 hours at $70/hour
- Requirements re-do: 30 hours at $80/hour
- Code review: 60 hours at $75/hour
- Coding re-do: 20 hours at $85/hour
- Design review: 30 hours at $70/hour
- Testing: 100 hours at $65/hour
- External failure expenses (assumed): $5,000
Prevention Costs (PC)
PC = Training costs
PC = 50 x $60 = $3000
Appraisal Costs (AC)
AC = Requirements review cost + Code review costs + Design review + Testing costs
AC = (40 x $70) + (60 x $75) + (30 x $70) + (100 x $65) = $15,900
Internal Failure Costs (IFC)
IFC = Requirements re-do costs + Coding re-do costs + Re-inspection costs +Debugging costs
IFC = (30 x $80) + (20 x $85) = $4,100
External Failure Costs (EFC)
(Assumed as a fixed cost)
EFC = $5,000
Total Cost of Quality
COQ = PC + AC + IFC + EFC
COQ = $3,000 + $15,900 + $4,100 + $5,000 = $28,000
Cost of quality for software projects unlocks the ability to assess intriguing insights, such as:
- Measuring how much of your total development budget is allocated to quality assurance.
- Determining the percentage of your development costs that stem from addressing failures.
- Understanding the financial impact of quality-related expenses on your overall sales and maintenance efforts.
This information will help you balance your investments while preventing poor quality.