With that short excerpt, Cunningham introduced three ideas with staying power.Shipping first time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite. Objects make the cost of this transaction tolerable. The danger occurs when the debt is not repaid. Every minute spent on not-quite-right code counts as interest on that debt. Entire engineering organizations can be brought to a stand-still under the debt load of an unconsolidated implementation, object-oriented or otherwise.
- "not quite right" code is like a form of debt.
- Time spent maintaining this code is like a form of interest.
- Technical debt can have positive or negative effects. Negative effects can be crippling.
It is interesting to see how interest in the concept has developed over time. In A systematic mapping study on technical debt and its management, Zengyang Li, Paris Avgerioua, and Peng Liang provided this graph with the number of studies from 1992 through 2013.