GET/v1/philosophy/technical-debt-quadrant
DeliberateInadvertentPrudentRecklessGood DebtDangerousLearningIgnorant

Technical Debt Quadrant

Understanding debt through the lens of prudent vs reckless, deliberate vs inadvertent.

The Technical Debt Quadrant, introduced by Martin Fowler, provides a nuanced way to think about technical debt by categorizing it along two axes:

  1. Prudent vs Reckless - Was it a wise decision?
  2. Deliberate vs Inadvertent - Was it intentional?

The Four Quadrants

1. Prudent & Deliberate ("We know what we're doing")

The Good Debt

You consciously choose to take on debt for strategic reasons, with a clear plan to pay it back.

Examples:

  • Shipping an MVP quickly to validate market fit
  • Using a simple architecture now with a plan to refactor later
  • Choosing a familiar technology to meet a deadline

When to use: When speed to market is more important than perfect architecture, and you have a concrete plan to address the debt.

2. Reckless & Deliberate ("We don't have time for design")

The Dangerous Debt

You know you're cutting corners but don't understand the consequences or don't care.

Examples:

  • Skipping testing to ship faster without understanding the risks
  • Hardcoding values everywhere without a plan
  • Copy-pasting code instead of proper abstraction

When to avoid: This is almost always a bad idea. It indicates a lack of discipline or understanding.

3. Prudent & Inadvertent ("We didn't know what we didn't know")

The Learning Debt

You made the best decision you could with the information available, but later discovered better approaches.

Examples:

  • Choosing a technology that later became obsolete
  • Designing for scale you never needed (or not designing for scale you did need)
  • Architectural decisions that made sense at the time

When to accept: This is unavoidable. The goal is to learn and adapt.

4. Reckless & Inadvertent ("We had no idea")

The Ignorant Debt

You took on debt unknowingly due to lack of experience or knowledge.

Examples:

  • Using an anti-pattern because you didn't know better
  • Not understanding security implications
  • Poor database design due to inexperience

When to mitigate: Invest in learning, code reviews, and mentorship.

Managing Each Type

| Quadrant | Strategy | |-----------|----------| | Prudent-Deliberate | Document it, track it, pay it back systematically | | Reckless-Deliberate | Stop immediately, refactor, establish guardrails | | Prudent-Inadvertent | Learn from it, adapt approach, share knowledge | | Reckless-Inadvertent | Education, mentoring, code reviews, best practices |

The Key Insight

Not all technical debt is bad. Prudent debt taken deliberately can be a strategic tool. The danger lies in reckless debt—whether deliberate or inadvertent.

When to Use This Model

Use this quadrant when:

  • Discussing technical debt with non-technical stakeholders
  • Prioritizing refactoring work
  • Making build vs buy decisions
  • Evaluating architectural trade-offs
  • Building a culture of quality vs speed

Related Mental Models

bash$ _Press Cmd+K to expand