Source: Martin Fowler
Published: May 2019
Circulated: June 16, 2020
During the planning or execution of a software project, leaders make decisions to defer necessary work. For example, one might say, “we’re not following the company’s User Interface guidelines, but we’ll get to it in the next version.”
Technical debt is a software development metaphor to explain this type of trade-off. As you take on more tech debt, you get faster deployments, but your system becomes harder to modify in the future.
Leaders can, therefore:
1) Keep an explicit tech debt list and share it with your team (and partner teams)
2) Note the consequences of each item
3) Allow time on the schedule to “pay off” the debt by making the code clearer and simpler without creating new functionality (i.e., refactoring)
Bonus: a 4-minute video from Ward Cunningham who coined the term.