Technical Debt Estimation
The term “Technical Debt”, first defined by Ward Cunningham, is having a renaissance. A wide variety of ways to define and calculate Technical Debt are emerging.
Technical Debt represents the effort required to fix problems that remain in the code when an application is released. It is an emerging concept, and little reference data regarding the metaphor is available in a typical application. The Appmarq benchmarking repository provides a unique opportunity for CAST Research Labs (CRL) to calculate Technical Debt across different technologies, based on the number of engineering flaws and violations of good architectural and coding practices in that source code. This data-driven approach to provides an objective, conservative, and actionable estimate of Technical Debt.
CRL bases the Technical Debt calculation in an application as the cost of fixing the structural quality problems in an application that, if left unfixed, put the business at serious risk. Technical Debt includes only those problems that are highly likely to cause severe business disruption; it does not include all problems, just the most serious ones.
Based on this definition and the analysis of 745 applications containing 365 million lines of code (11.3 back-fired function points) submitted by 160 organizations, we estimate that the Technical Debt of an average-sized application of 300,000 lines of code (LOC) is $1,083,000. This represents an average Technical Debt per LOC of $3.61.
For further details on our calculation method and results on the current state of software quality, please see the CRASH Report (CAST Report on Application Software Health) – 2011/12.
Recent Coverage of Technical Debt
- The CRASH Report (CAST Report on Application Software Health) - 2011/12
- OnTechnicalDebt, by Rod Newing, on how to develop fast & still contain technical debt
- Gartner, raising the importance of managing Technical Debt
- Israel Gat, on how Technical Debt relates to SaaS, Mobile, and to toxic code!
- Computerworld, by Pat Thibodeau, describing all the research into technical debt and an end-user perspective
- NetworkWorld, by John Dix, describing the Gartner report together with the CAST study on the subject
- Vinnie Mirchandani, saying that Gartner’s estimates may be overstated
- Dennis Moore, describing tech debt and how it relates to purchased software