'Technical Debt' in contemporary terms has certainly become a container holding far more than originally intended by Cunningham.<p>The fundamental debt metaphor was about the need for ongoing re-factoring of past code and systems to match <i>today's understanding</i>, and the accumulating cost of failing to have the discipline and taking the time to do so.<p>Cunningham's specific quotes from the video [0] linked in the article: <i>"...accumulate the learnings we did about the application over time by modifying the program to look as though we knew what we were doing all along, and to look as if it had been easy to do"</i>, and <i>"If we fail to make our program align with what we then understood to be the proper way to think about our financial objects then we were going to continually stumble over that disagreement, and that would slow us down"</i>.<p>This problem is fundamental to software systems and how they change over time, and is not about making poor choices, tradeoffs, or generally poor engineering to ship code faster.<p>A system or feature is initially built based on the requirements that were known <i>at that point in time</i>. Requirements are frequently not static though: that original set of requirements may continue to evolve over time, either as we better understand them after implementation, or when requirements are added, refined, or removed by the stakeholders or organization.<p>Additionally, we can't view each feature or requirement in isolation over time: only when we see the overall set of features in a system will the important patterns start to emerge that inform how refactoring should occur. We can't know this early on, only over time as the system evolves.<p>I have witnessed this many times on software projects, both small and large. Requirements and features evolve over time, but the code base was never refactored to take into account the overall understanding <i>as of each point in time</i>. Rather, the changes are applied in isolation ('bolted on?') incrementally. Over time these numerous incremental changes result in a system that is fragile, increasingly difficult to understand and maintain, and generally veers toward spaghetti. It becomes harder and harder to make changes. That is the debt that was never repaid.<p>[0] <a href="http://www.youtube.com/watch?v=pqeJFYwnkjE" rel="nofollow">http://www.youtube.com/watch?v=pqeJFYwnkjE</a>