Over the last year, I’ve been struggling with the term technical debt.
The theory behind technical debt is that there are choices we make that cost money later. And that’s motherhood and apple pie.
The problem with that phrasing is that there is an implicit assumption that technical debt is a bad thing because all debt is bad.
And that is just profoundly a wrong conclusion.
Debt is how you get leverage in the business, and it’s how you get leverage in time in engineering. And engineering is a tradeoff between time and resources.
More generally, because of the negative connotation of debt, the theory of technical debt says that:
Engineering tradeoffs aligned with business priorities are bad if hurt they architecture
And that is the wrong answer. Because if the business priorities result in growth and success, then this was the right tradeoff between time and technical correctness.
Engineers can use leverage to go faster, and like businessmen we can overdo it. And when we do — well there are consequences.
anon@gmail says
Typo: overdue -> overdo
Jake R says
You might enjoy this take:http://higherorderlogic.com/2010/07/bad-code-isnt-technical-debt-its-an-unhedged-call-option/
Glenn says
Sorta, but not quite. The debt is to the team itself and its ability to make future changes. Technical debt doesn’t cost any actuall money other then T&E. The financial hook with debt is just a play on words. Its a catagory of work which represents anything that MUST be reworked to make a particular change. It’s always acceptable to make those tradeoffs when necessary. However, because its all rework waiting to happen it should be avoided,and like actual debt, technical debt can actually kill an architecture.
So, no the term works wonderfully. Your issue is someone attempting to tag an architectural decision as debt. If it doesn’t impead the teams ability to make a modification then in my opinion it isn’t technical debt.
**surfing Twitter waiting on the fireworks to start. Am not equiped for more indebt reply due to copious ammounts of independence celebration. But stop making up terms we have too many already.