Technical Debt
The future cost of shortcuts or postponed improvements in software: every later change gets slower, costlier and riskier until the debt is paid.
Pronunciation
What is it
Technical debt is a financial metaphor: when a team takes a shortcut to deliver faster — or simply lets a system age without maintenance — it takes on “debt”. That debt charges interest: every new feature costs more time and money than it would on healthy code.
For a manager: if a small change used to take days and now takes weeks, and nobody dares to touch certain modules, you’re probably paying technical debt interest.
Where the Term Comes From
- Ward Cunningham introduced the metaphor at OOPSLA 1992.
- Martin Fowler popularized it by explaining the “interest”: the extra effort it takes to add features because of poor design. In his example, if a confusing module turns a four-day task into six days, the two extra days are the interest.
The Four Kinds of Debt (Fowler’s Quadrant)
Fowler proposed classifying debt by whether it was deliberate or inadvertent, and whether it was prudent or reckless. Each cell shows an illustrative phrase of how that kind of debt sounds inside a team:
| Reckless | Prudent | |
|---|---|---|
| Deliberate | “We don’t have time for design” | “We must ship now and deal with consequences” |
| Inadvertent | “Layered architecture? What’s that?” | “Now we know how we should have done it” |
Not all debt is bad: deliberate and prudent debt can be a valid business decision (for example, hitting a launch date), as long as it’s recorded and there’s a plan to pay it back.
Common Forms of Technical Debt
| Type | Example |
|---|---|
| Code | Duplication, huge functions, hardcoded values |
| Architecture | Everything coupled in a monolith with no clear boundaries |
| Testing | No automated tests; every change is validated by hand |
| Platform | Unsupported languages or frameworks, such as VB6 |
| Operations | Manual deployments without CI/CD |
| Knowledge | Only one person understands the system; no documentation |
Why It Matters for Companies in Latin America
Many enterprise systems in the region grew for years through urgent patches and rotating teams. The typical result:
- Slower to compete: digital channels stall because the core can’t absorb change
- More bugs in production with every release
- Security risk from components that no longer get updates
- Dependence on key people
Technical debt doesn’t show up on the balance sheet, but it does show up in delivery times, incidents, and team turnover.
Common Mistakes
❌ Ignoring it until it blows up → Unmanaged debt tends to end in an emergency migration, the most expensive kind
❌ Trying to pay it all at once with a full rewrite → “Big bang” rewrites tend to take longer than planned and freeze the business; it’s better to pay in installments, for example with the Strangler Fig pattern
❌ Treating it as a purely technical problem → Paying down debt is an investment decision: it should be prioritized alongside business features
Practical Example (illustrative)
A team maintains a billing system. Every tax change takes weeks because the rules are copied across several forms. A reasonable plan:
- Make the debt visible: list the modules that slow changes down the most
- Protect the tax calculation with tests before touching it
- Centralize the rule in a single service
- Reserve fixed capacity in every sprint to reduce debt
- Automate tests and deployments with DevOps practices
When the debt lives in the platform itself (unsupported language, client/server architecture), the way out is modernization. At Nextsoft we support these projects together with specialized strategic partners: the partner carries out the migration and Nextsoft delivers new modules, integrations, frontend and QA. Explore the legacy system modernization service or let’s talk.
Related Terms
- Strangler Fig - Pattern for paying down platform debt piece by piece
- CI/CD - Automation that prevents operational debt from piling up
- Hardcoded - One of the most common forms of code debt
- Bug - A frequent symptom of accumulated debt
- DevOps - Practices that help keep debt under control
Additional Resources:
- Martin Fowler - Technical Debt - Explanation of debt “interest”
- Martin Fowler - Technical Debt Quadrant - The four kinds of debt