Technical debt is one of the most misused terms in engineering. The more useful definition: the gap between the architecture you have and the architecture you would build knowing what you know now — specifically, the parts of that gap that are actively constraining your team’s ability to deliver.

How to quantify it

  • Time multiplier: how much longer does it take to add a feature because of this constraint?
  • Risk: what is the probability and impact of failure if this constraint is not addressed in 12 months?
  • Opportunity cost: what features cannot be built while this constraint exists?
  • The prioritization framework

  • Address now: debt blocking multiple active workstreams or creating unacceptable risk
  • Plan for next quarter: debt with clear impact requiring more than a sprint to address
  • Accept: debt in code rarely changed with a known, bounded cost
  • Monitor: debt not a problem today but could become one at 3x current scale
  • Making the case to non-technical stakeholders

    The framing that works is operational cost: this constraint adds three to five days of engineering time to every feature we build in this area. That is a business problem, not a code quality problem.

    Heading 1

    Heading 2

    Heading 3

    Heading 4

    Heading 5
    Heading 6

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

    Block quote

    Ordered list

    1. Item 1
    2. Item 2
    3. Item 3

    Unordered list

    • Item A
    • Item B
    • Item C

    Text link

    Bold text

    Emphasis

    Superscript

    Subscript