Key Principle: Manage Technical Debt

Learn about technical debt, its different kinds, and how to manage it.

“Technical debt” refers to the accumulation of low-quality work in the past that slows down work in the present. The classic example is a brittle code base in which each attempt to fix a bug exposes one or more additional bugs. Even simple bug fixes become time-consuming, multi-bug-fix exercises.

Technical debt can consist of low-quality code, low-quality design, a brittle test suite, design approaches that are difficult to work with, a clunky build environment, slow manual processes, and other ways in which long-term productivity has been sacrificed for short-term gains.

Consequences of technical debt

Debt is typically accumulated as a result of pressure to prioritize near-term releases at the expense of quality. A holistic view of project inputs and outputs includes consideration of the effect of debt accumulation over time:

Get hands-on with 1400+ tech skills courses.