---
title: "What is Technical Debt?"
canonical: https://wavect.io/glossary/technical-debt/
language: en
description: "The future cost of a shortcut taken today, paid back as slower delivery until it is fixed. Sometimes a smart trade, dangerous mostly when nobody can see it."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

METHODOLOGY

# Technical Debt

The future cost of a shortcut taken today, paid back as slower delivery until it is fixed. Sometimes a smart trade, dangerous mostly when nobody can see it.

Last reviewed: 2026-06-02 by [Kevin Riedl](/team/kevin-riedl/) [wiki ↗](https://www.wikidata.org/wiki/Q139796365)

Technical debt is a metaphor, and a good one. When you take a shortcut to ship faster (a quick hack instead of the clean design, a hard-coded value instead of the config system), you borrow time now and pay it back later as interest: every future change in that area is slower, riskier, and more annoying. Like financial debt, it is not automatically bad. It is a tool.

Taking debt deliberately is often the correct call. Before product-market fit, speed beats elegance, because most of what you build will be thrown away anyway. Building a pristine architecture for a product that might not exist in six months is its own kind of waste, which is the whole logic of shipping an [MVP](/glossary/mvp/). The right move is frequently to take the shortcut, ship, learn, and pay the debt down once you know the thing is worth keeping.

The danger is not debt. The danger is invisible debt. Deliberate, documented debt (“we hard-coded this, here is the ticket to fix it before we scale”) is a managed liability, and a healthy [CI/CD](/glossary/ci-cd/) pipeline plus a sane [SDLC](/glossary/sdlc/) are what surface it before it compounds. Undocumented debt that nobody decided to take, that just accreted through hurry and turnover, is the cruft that quietly strangles a codebase. Velocity drops, nobody can say why, and every estimate doubles. By the time it is visible in the metrics, the interest payments have been compounding for a year.

Wavect’s stance: debt is a deliberate trade-off, not a moral failing. We will happily take debt to hit a window, and we will write down exactly what we took and what it will cost to repay. The conversation we refuse to skip is the one where someone is paying interest and nobody has named the loan. See our [full-stack development work](/services/software-development/) for how we keep this trade-off explicit.

**When this matters in a software project.** Constantly, but it bites hardest just before launch and during scaling, when accumulated shortcuts turn into slower delivery and doubled estimates that nobody can explain.

**What founders usually get wrong.** They treat all debt as bad and panic, or ignore it until it is invisible. The danger is never deliberate, documented debt; it is the cruft that accreted through hurry and turnover that nobody chose and nobody can see.

**How Wavect handles it.** We take debt deliberately to hit a window and write down exactly what we took and what it costs to repay. The [QA checklist before launch](/software-development-guide/software-qa-checklist-before-launch/) is where we surface the debt that would otherwise ship silently.

// FAQ

## FAQs

### What is technical debt?

The future cost of a shortcut taken today. You borrow time by skipping the clean solution, then pay interest as every later change in that area gets slower and riskier until the shortcut is fixed. It can be a deliberate, smart trade or accidental cruft that just accumulated.

### Is technical debt always bad?

No. Taken deliberately and documented, it is often the right call, especially before product-market fit when speed matters more than elegance and most code will be replaced anyway. The danger is undocumented debt that nobody chose to take and nobody can see, which quietly drags velocity down for months.

### When does technical debt become a real problem?

When it is invisible. Deliberate debt with a ticket attached is a managed liability. Cruft that accreted through hurry and staff turnover is the killer: estimates double, velocity drops, and nobody can explain why because no one ever named the loan. The fix starts with making the debt visible and deciding what to repay.

Related terms

- [SDLC](/glossary/sdlc/)
- [CI/CD](/glossary/ci-cd/)
- [MVP](/glossary/mvp/)

Related services

- [Custom Software Development](/services/software-development/)

Related case studies

- [Polity](/case-studies/polity/)

Related guides

- [The software development process, week by week](/software-development-guide/software-development-process/)

Talk to us

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/glossary/technical-debt/#term",
      "@type": "DefinedTerm",
      "alternateName": [],
      "description": "The future cost of a shortcut taken today, paid back as slower delivery until it is fixed. Sometimes a smart trade, dangerous mostly when nobody can see it.",
      "inDefinedTermSet": "https://wavect.io/glossary/#termset",
      "name": "Technical Debt",
      "termCode": "technical-debt",
      "url": "https://wavect.io/glossary/technical-debt/"
    },
    {
      "@id": "https://wavect.io/glossary/technical-debt/#webpage",
      "@type": "WebPage",
      "about": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "author": {
        "@id": "https://wavect.io/team/kevin-riedl/#person",
        "@type": "Person",
        "name": "Kevin Riedl",
        "url": "https://wavect.io/team/kevin-riedl/"
      },
      "dateModified": "2026-06-02",
      "description": "The future cost of a shortcut taken today, paid back as slower delivery until it is fixed. Sometimes a smart trade, dangerous mostly when nobody can see it.",
      "headline": "Technical Debt",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-06-02",
      "mainEntity": {
        "@id": "https://wavect.io/glossary/technical-debt/#term"
      },
      "mentions": [
        {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        {
          "@type": "Service",
          "name": "Custom Software Development",
          "url": "https://wavect.io/services/software-development/"
        }
      ],
      "name": "Technical Debt",
      "reviewedBy": {
        "@id": "https://wavect.io/team/christof-jori/#person",
        "@type": "Person",
        "name": "Christof Jori",
        "url": "https://wavect.io/team/christof-jori/"
      },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".gls-single__h1",
          ".gls-single__tldr"
        ]
      },
      "url": "https://wavect.io/glossary/technical-debt/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/",
          "name": "Home",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/glossary/",
          "name": "Tech, product & engagement glossary",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/glossary/technical-debt/",
          "name": "Technical Debt",
          "position": 3
        }
      ]
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The future cost of a shortcut taken today. You borrow time by skipping the clean solution, then pay interest as every later change in that area gets slower and riskier until the shortcut is fixed. It can be a deliberate, smart trade or accidental cruft that just accumulated."
      },
      "name": "What is technical debt?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. Taken deliberately and documented, it is often the right call, especially before product-market fit when speed matters more than elegance and most code will be replaced anyway. The danger is undocumented debt that nobody chose to take and nobody can see, which quietly drags velocity down for months."
      },
      "name": "Is technical debt always bad?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "When it is invisible. Deliberate debt with a ticket attached is a managed liability. Cruft that accreted through hurry and staff turnover is the killer: estimates double, velocity drops, and nobody can explain why because no one ever named the loan. The fix starts with making the debt visible and deciding what to repay."
      },
      "name": "When does technical debt become a real problem?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
