The concept of technical debt
Technical debt may be one of the most discussed concepts related to IT management in the past decade. As the quality of software is a fundamental goal of this book, it is something we have to clearly describe.
The general definition of technical debt
If you are reading this book, you are certainly interested in software quality and how to architect things correctly, so you most certainly have a good grasp of the concept of technical debt, or at least have been exposed to it. Nonetheless, I will give a quick definition of it so that you can try and formalize it.
What is technical debt?
Technical debt is the amount of accidental complexity you have allowed to enter your project, together with its increase in intrinsic complexity.
Let’s decompose this a little. When you develop a software project, it always aims at producing a function on a given business domain perimeter. There is an inner, definite, stable complexity that comes from...