Reference Card / History|Updated 11 Oct 2026

Where the "technical debt" metaphor came from: 1992 to today

No single page on the web tells this story with all its primary sources cited. Here is the complete timeline, from Ward Cunningham's 1992 OOPSLA experience report to the 2026 question of whether AI coding assistants are accelerating debt accumulation.

Stratigraphy / 1992 to 2026

1992

Cunningham coins the metaphor

Ward Cunningham's WyCash portfolio management system, written in Smalltalk, had accumulated significant early-stage code that was becoming expensive to maintain. He needed to explain to management why the team needed time to rewrite before adding features. The 1992 OOPSLA experience report introduced the debt metaphor: "Shipping first time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite..." Cunningham later said in a 2009 video interview that the metaphor was specifically about the cost of not-quite-right understanding of the domain, not just messy code, but code that encodes an incomplete or wrong model of the problem.

2003

Fowler formalises for a wider audience

Martin Fowler published his bliki post "TechnicalDebt" in 2003, making the concept widely accessible to the software engineering community outside OOPSLA. Fowler clarified that debt is not just about messy code but about any code that is harder to work with than it could be, and that paying back the debt means refactoring. He drew the interest/principal analogy more explicitly: the interest you pay on tech debt is the extra effort every future change requires.

2007

McConnell's taxonomy

Steve McConnell published "Technical Debt" on the Construx blog in November 2007, one of the first attempts at a taxonomy beyond the broad metaphor. He separated debt incurred unintentionally (Type I, from low-quality work) from debt taken on intentionally for strategic reasons (Type II), and split intentional debt into short-term and long-term. He defined technical debt as the obligation an organisation incurs when it chooses a design or construction approach that is expedient in the short term but increases complexity and is more costly in the long term.

2009

Fowler's Technical Debt Quadrant

Fowler published the Technical Debt Quadrant bliki post in 2009, introducing the 2x2 matrix that remains the most cited framework in the field. The quadrant maps debt across two axes: deliberate vs inadvertent (did you know you were taking it on?) and prudent vs reckless (was it a reasonable decision?). The four cells, Deliberate+Prudent, Deliberate+Reckless, Inadvertent+Prudent, Inadvertent+Reckless, provide a diagnostic tool for root-cause analysis and remediation selection. See the full treatment on the /quadrant page.

2012

Kruchten, Nord, Ozkaya: the technical debt landscape

Philippe Kruchten, Robert Nord, and Ipek Ozkaya wrote "Technical Debt: From Metaphor to Theory and Practice", the guest editorial for IEEE Software's November/December 2012 special issue on technical debt. They argued that the field needed a better definition and a theoretical foundation, because almost any software problem was being labelled some kind of debt. The editorial's "technical debt landscape" separates problems that are visible to users (new features, defects) from those that are mostly invisible (debt in the architecture and the code), which is where technical debt proper lives. Later research turned this into detailed type taxonomies; Alves et al. (2014) catalogued thirteen types.

2016

Dagstuhl Seminar 16162, a consensus definition

Dagstuhl Seminar 16162, "Managing Technical Debt in Software Engineering", held at Schloss Dagstuhl on 17-22 April 2016, brought together academic and industrial researchers in the field and produced the definition most papers now cite: "In software-intensive systems, technical debt is a collection of design or implementation constructs that are expedient in the short term, but set up a technical context that can make future changes more costly or impossible."

2016-2020

Industry operationalises the concept

The SQALE method (Software Quality Assessment based on Lifecycle Expectations), developed by Jean-Louis Letouzey, operationalised debt as a measurable remediation cost per code violation, and became the basis of SonarQube's debt measurement. CAST Software published its CRASH (CAST Research on Application Software Health) reports quantifying structural quality across thousands of enterprise applications. Stripe published the Developer Coefficient in 2018, surveying more than 1,000 developers and 1,000 C-level executives across five countries and finding developers spend 17.3 of 41 hours a week (42%) on maintenance, including 13.5 hours (33%) on technical debt, the most widely quoted figures in the space. Adam Tornhill released CodeScene, introducing the churn-times-complexity hotspot model.

2020-2023

The big numbers era

CISQ published the Cost of Poor Software Quality in the US in 2022, estimating $2.41 trillion in total poor-software-quality costs, with the accumulated technical debt principal at ~$1.52 trillion. McKinsey published "Tech debt: Reclaiming tech equity" in 2020: CIOs it surveyed estimated tech debt at 20-40% of the value of their technology estate, and said 10-20% of the technology budget for new products is diverted to resolving tech-debt issues. DORA's annual State of DevOps research tracked delivery stability alongside speed, and its 2024 report added rework rate as a delivery metric.

2024-2026

AI coding agents and the debt question

The emergence of AI coding assistants (GitHub Copilot from 2021, then Cursor and Claude Code) reopened the debt accumulation question. DORA's 2024 report, surveying more than 39,000 professionals, found that a 25% increase in AI adoption was associated with an estimated 7.2% reduction in delivery stability and a 1.5% reduction in delivery throughput, and noted research suggesting code churn may double from its pre-2021 baseline. The research is still emerging. The core Cunningham observation, that you pay interest on shortcuts, appears to hold regardless of whether the shortcut was made by a human or a language model.

Continue Reading

Sources

  1. Cunningham, W. The WyCash Portfolio Management System. OOPSLA Experience Report, 1992.
  2. Fowler, M. TechnicalDebt bliki. 2003. TechnicalDebtQuadrant, 2009.
  3. McConnell, S. Technical Debt. Construx blog, November 2007.
  4. Kruchten, P., Nord, R. L., Ozkaya, I. Technical Debt: From Metaphor to Theory and Practice. IEEE Software 29(6), 2012 (guest editorial).
  5. Dagstuhl Seminar 16162. Managing Technical Debt in Software Engineering. Schloss Dagstuhl, April 2016.
  6. Letouzey, J. The SQALE Method for Evaluating Technical Debt. 2012.
  7. Stripe. The Developer Coefficient. 2018.
  8. CISQ. Cost of Poor Software Quality in the US: A 2022 Report. 2022.
  9. McKinsey Digital. Tech debt: Reclaiming tech equity. 2020.
  10. DORA. Accelerate State of DevOps Report. 2024.