Technical debt is something good

The negative notion of technical debt is inherited from the old times of software development when a group of experts defined what is good for the user.

Those experts used to create tons of documents, guessing what the user needed, and dropping them into a waterfall of instructions for dev teams. After months of work, stakeholders would see the result, often causing disappointment, which they called "technical debt." 

In the agile world, we recognize that technical debt will always exist because it is impossible to know everything before receiving user feedback. 

Allen Holub defines tech debt as a credit card: 


"Tech debt accrues naturally as you write your code. Managed correctly, it works like a credit card. You pay off the card every month. If you don't do that, the debit increases to the point that you can't pay it off. You are buried under the interest payments. In Agile, the equivalent of paying off your card is refactoring to incorporate the things you learned by releasing. When you see something that's wrong based on what you know now, fix it. If you don't pay off the debt—don't eliminate the hard-to-work-on code that doesn't do what our users need—you'll be buried under the interest". 

To understand it better, it is important to know that bugs are not a part of technical debt. 

Bugs are code that does not behave the way you expect it to. Technical debt is code that behaves exactly as you expect, but your expectations are wrong. Technical debt has nothing to do with bugs. You deliver the best code you can, given what you know now. You are not deliberately ignoring things about how the code should work that you do know. 

The final goal of any software company is to integrate developers so deeply within the client that they feel like equals on the team, changing the notion of technical debt to the idea of "things we now know and can solve." 

After all, developers, clients, and stakeholders learn together how to make users' lives better through user feedback, and the idea of debt carries a negative connotation that can make people feel like they should have known better when that is often impossible. So, let's change the word "debt" to "discovery." 

Because discovering something is always good. 

Share by:
gtag('config', 'AW-11286879717');