Monday, January 4, 2016

Hello World

What is there to say about Cunningham's 1992 paper, Experience Report -- The Wycash Portfolio Management System, except that it started it all?  That's enough.  It is now impossible to write a paper (or blog) about technical debt that doesn't begin by citing Cunningham:
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.
With that short excerpt, Cunningham introduced three ideas with staying power.
  1. "not quite right" code is like a form of debt.
  2. Time spent maintaining this code is like a form of interest.
  3. Technical debt can have positive or negative effects.  Negative effects can be crippling.
Over the years, not quite right code has evolved into not quite right technology, and this phenomenon developed the name technical debt.

It is interesting to see how interest in the concept has developed over time.  In A systematic mapping study on technical debt and its managementZengyang Li, Paris Avgerioua, and Peng Liang provided this graph with the number of studies from 1992 through 2013.