11807 shaares
366 private links
366 private links
The term was coined to explain a deliberate process where you write software quickly to gain knowledge
"If you discover a better way to do things, the old way of doing it that is embedded in your code base is now “debt”:
- you can either live with the debt, “paying interest” in the form of all the ways that it makes your code harder to work with;
- or you can “pay down” the debt by fixing all the code in light of your new knowledge, which takes up front resources which could have been spent on something else, but hopefully will make sense in the long term.
Technical debt isn’t just bad code—it represents the lessons you’ve learned about how to build software better. Refactoring isn’t “paying off a debt,” but investing in applying that knowledge. Ignoring it wastes what you’ve learned and, over time, leads to lost value and competitive disadvantage compared to those who actively improve their code.
Can I really say “we now know” that the existing code is inferior? Is it true that fixing the code is “investing my knowledge”?