
The term "technical debt" refers to messy source code, data, or architecture in a software system. It represents a vague acknowledgement of the fact that the messiness needs to be fixed by someone, somehow, sometime.
People hearing the term "technical debt" for the first time are likely to guess what it means, in broad terms, and to understand that it is undesirable; however, the real detriment lies in a hidden concept which, although alluded to by the term, is not spelled out. As a result, people using the term often fail to grasp its grave implications.
In this post I shed light at the hidden concept and show the real problem with technical debt.