Browse Definitions :
Definition

technical debt

What is technical debt?

Technical debt -- or tech debt -- is the implied cost incurred when businesses do not fix problems that will affect them in the future. Accruing technical debt causes existing problems to get worse over time. The longer debt builds up, the more costly it becomes to rectify.

Companies that delay or omit work for the sake of speed accrue technical debt, which they need to pay back later or face consequences. Technical debt is a common concept in software development, where team leaders delay features and functionality, cut corners, or settle for suboptimal performance to push the project forward. It occurs as the result of a "build now, fix later" mentality. In software engineering, tech debt is sometimes called code debt.

DevOps, Scrum and Agile development frameworks rely on speed, so managing technical debt in these methodologies is important to ensure quality isn't sacrificed.

The term technical debt was coined by developer Ward Cunningham. Cunningham was one of the authors of the Agile Manifesto and former head of research and development at Wyatt Software. During his time at Wyatt Software, Cunningham wrote in a report for the 1992 OOPSLA conference: "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. ... The danger occurs when the debt is not repaid. Every minute spent on not-quite-right code counts as interest on that debt. Entire engineering organizations can be brought to a stand-still under the debt load of an unconsolidated implementation."

Why is technical debt important?

As technical debt accumulates, the teams become less capable of focusing on growth and new features, and become more concerned with putting out fires -- implementing short-term solutions to longstanding, worsening core problems.

Chart showing the percentage of time spent on technical debt is 90%.
A lot of time is spent on basic maintenance in IT.

The problems that technical debt creates can also cause a chain reaction that spills into other departments. A problem that starts in development might affect the processes and people who perform other core business operations, such as manufacturing, order fulfillment and shipping.

In some cases, it is favorable or necessary to incur technical debt. A business might decide that it is worth incurring if a project needs to be completed quickly to meet a deadline or if a problem cannot be solved immediately. Teams must balance tradeoffs between quick decisions and high quality.

What are the causes of technical debt?

Technical debt is caused by the decision to not solve a problem. The following are some example software development problems that can lead to technical debt:

  • Unclear project requirements. If teams alter or redefine requirements well into the project, it can force them to go back into the code and rework it to include new components that conform to the new requirements.
  • Bad code. Code without proper standards can make updating it later increasingly difficult. Nonmodular code can make it harder to integrate with other code further down the line.
  • No training. A lack of developer training can lead to poorly written code.
  • Poor tool implementation. Developers might incorporate a new tool despite having no business case for it, wasting resources.
  • Lack of documentation. Missing or inaccurate code documentation can make revisiting or updating code difficult, as programmers are forced to reacquaint themselves with the codebase.
  • Poor hardware implementation. Installing hardware without proper cable or port markings can lead to technical debt by making maintenance unnecessarily difficult. Ignoring hardware configuration can also create costly performance or security issues in the future.
  • Lack of testing. Releasing code without testing it can cause technical debt in the form of performance errors that require patches or fixes.
  • Information silos. Information and data silos can cause teams to duplicate efforts or miscommunicate. This might occur when teams choose not to communicate if it slows them down.
  • Competing departments. Prioritizing business needs might put pressure on development teams to cut corners, resulting in technical debt.
  • Ignoring updates. Letting legacy code or systems sit while new ones are implemented can lead to interoperability issues down the line.

In each of these examples, the technical debt is the list of problems that teams need to address so that the project functions as intended.

How technical debt can be used

Technical debt is not always a bad thing. There are two types of technical debt:

Two types of technical debt: planned and inadvertent.
There are two types of technical debt, one of which can be beneficial.
  • Planned. This is the result of taking shortcuts with an awareness of and accountability for the consequences. The debt remains visible to the team taking it on. The business actively chooses to forgo certain tasks and take debt on for a good reason.
  • Unplanned. Unplanned technical debt is when problems go unaccounted for and spiral into bigger, less manageable problems. This is the result of taking shortcuts with little thought to the consequences. It becomes apparent when the consequences start to affect productivity.

Planned technical debt is useful -- and in some cases necessary. Sometimes projects require a faster time to market that requires them to make the quick decision instead of the most optimized decision. For example, if a business wants to fast-track a certain technology or establish itself in a new market, it would be worth it to hurry a project along. The key to managing technical debt correctly is to measure and be accountable for the parts of the process that are intentionally skipped. This way, debt remains manageable and can be incorporated into a business's overall plan.

How to measure technical debt

With proper measurement, technical debt doesn't accrue a problematic amount of interest and can be managed. But measuring it can be difficult. There are several metrics an organization can use to measure technical debt.

One example is technical debt ratio (TDR). TDR is a way to estimate the future cost of technical debt. An ideal TDR is 5%.

Formula for calculating technical debt.
Technical debt ratio compares the cost of a fix against the total cost of the project.

Other metrics include the following:

  • defect ratios, or the number of new defects compared with old ones;
  • code quality;
  • completion time; and
  • code reworking or refactoring.

To stay ahead of and remain accountable for technical debt, teams need to track it through change management.

One way to do this is by creating a technical debt registry. This is a document that lists all existing issues, explains the consequences that result from these issues, suggests resources to fix the problems and categorizes them by severity. As new problems arise and decisions are made, changes can be logged using a ticket or tracking system and prioritized in the registry. Some project management tools include features to improve code quality and manage backlog.

Examples of technical debt

One basic example of technical debt is the Southwest Airlines cancellation debacle of 2023. A massive storm system caused tens of thousands of flight cancellations during the 2022-23 holiday season. Although all airlines were affected, Southwest canceled a disproportionately large number of flights. Southwest was uniquely affected due to its outdated IT infrastructure -- namely, its flight scheduling model and internal management system. For example, Southwest did not have an efficient way to communicate to crew members that they'd been reassigned and to shift them where they were needed most.

The airline had experienced problems with the system that resulted in smaller-scale meltdowns in the past, but never invested in improving its systems before the avalanche of cancellations in 2023. This is an example of a company forgoing needed technical maintenance, accruing debt and eventually having to repay it when an emergency happens. An update to Southwest's 20-year-old routing system would have been costly, but it would have given the airline enough resilience to withstand the storm that caused the meltdown.

The real-life example from 2023 somewhat resembles a fictional example detailed in Gene Kim's IT novel The Phoenix Project. In the book, IT manager Bill is tasked with saving the Phoenix Project -- the implementation of a software suite that integrates retail and manufacturing at Bill's company, Parts Unlimited. The project is already late and over budget when Bill is tasked with saving it. Bill saves the project by eliminating information silos and implementing better processes, but not before a failure due to technical debt that catches the public eye. The fictional software project misses a deadline by a wide margin due to a database conversion gone wrong, and the team is left resolving a series of problems with short-term fixes just to keep the whole operation from collapsing.

As one character puts it in the novel, "Left unchecked, technical debt will ensure the only work that gets done is unplanned work. When you spend all your time firefighting, there's little time or energy left for planning. It's the IT capacity death spiral."

Proper change management is essential for ensuring technical debt is accounted for and IT teams are in sync when updating their technical systems. Learn the difference between IT change management and configuration management and how the terms overlap.

This was last updated in February 2023

Continue Reading About technical debt

Networking
  • subnet (subnetwork)

    A subnet, or subnetwork, is a segmented piece of a larger network. More specifically, subnets are a logical partition of an IP ...

  • secure access service edge (SASE)

    Secure access service edge (SASE), pronounced sassy, is a cloud architecture model that bundles together network and cloud-native...

  • Transmission Control Protocol (TCP)

    Transmission Control Protocol (TCP) is a standard protocol on the internet that ensures the reliable transmission of data between...

Security
  • cyber attack

    A cyber attack is any malicious attempt to gain unauthorized access to a computer, computing system or computer network with the ...

  • digital signature

    A digital signature is a mathematical technique used to validate the authenticity and integrity of a digital document, message or...

  • What is security information and event management (SIEM)?

    Security information and event management (SIEM) is an approach to security management that combines security information ...

CIO
  • product development (new product development)

    Product development -- also called new product management -- is a series of steps that includes the conceptualization, design, ...

  • innovation culture

    Innovation culture is the work environment that leaders cultivate to nurture unorthodox thinking and its application.

  • technology addiction

    Technology addiction is an impulse control disorder that involves the obsessive use of mobile devices, the internet or video ...

HRSoftware
  • organizational network analysis (ONA)

    Organizational network analysis (ONA) is a quantitative method for modeling and analyzing how communications, information, ...

  • HireVue

    HireVue is an enterprise video interviewing technology provider of a platform that lets recruiters and hiring managers screen ...

  • Human Resource Certification Institute (HRCI)

    Human Resource Certification Institute (HRCI) is a U.S.-based credentialing organization offering certifications to HR ...

Customer Experience
  • contact center agent (call center agent)

    A contact center agent is a person who handles incoming or outgoing customer communications for an organization.

  • contact center management

    Contact center management is the process of overseeing contact center operations with the goal of providing an outstanding ...

  • digital marketing

    Digital marketing is the promotion and marketing of goods and services to consumers through digital channels and electronic ...

Close