Estimating the Cost of Corrective MAintenance

The Automated Technical Debt standard estimates the effort to correct all instances of the software weaknesses included in the CISQ code quality standards that remain in a software application’s code at release. This estimate can be used to predict future corrective maintenance costs. This measure is for static analysis tools.

The cost to fix structural quality problems constitutes the principal of the debt, while the inefficiencies they cause, such as greater maintenance effort or excessive computing resources, represent interest on the debt. The measure expresses the cost of software quality in terms a business can understand by estimating future corrective maintenance costs to remedy structural defects in code.

CISQ surveyed developers in a number of organizations to estimate how long it would take to fix each of the weaknesses in well-constructed code. The estimates provided default values for the effort to fix each weakness. To calculate Technical Debt, we adjust the default value for each occurrence of a specific weakness by factors that affect the difficulty of fixing it such as the complexity of the component, its exposure to the rest of the system, etc. The adjusted efforts for each occurrence are summed to produce a total remediation effort for that weakness. The total remediation effort for the weaknesses in a quality characteristic are summed to create a remediation effort for that characteristic. Finally, the remediation efforts for the four quality characteristics are summed to produce the Technical Debt measure.