Key Principle: Manage Technical Debt
Understand the concept of technical debt, including its causes and consequences in Agile projects. Explore strategies for managing different types of debt intentionally and unintentionally. Learn how to balance short-term business needs with long-term productivity by incorporating debt management into your Agile process.
“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 ...