We made it clear what the actual state of the system was during the demo (and like most demos, I think it crashed while being presented). If we hadn't explicitly explained the situation to the customers, they may have concluded that the system was much more mature than it was in actuality. In such a scenario we could have incurred a great amount of technical debt, as there would have been pressure to ship the product before it was complete. In this example, the potential technical debt seemed like just plain old deception to me. But analogous to monetary debt, it could also be thought of as just taking out a loan. A loan of confidence in the development team. If we couldn't pay it back, we'd all end up in Technical Debtors Prison.
I know now that technical debt has many more flavors to it, and it's not always a bad thing. At the beginning of any project, the technical debt is the greatest. You have nothing but a promise to deliver a working system. As time goes on, hard work and smart decisions should pay back the debt. It might ship before the debt is completely paid off, but the next release can pay off a little bit more.
Similarly, I owe this blog some code. I haven't done much development outside of work in the past week, but hopefully that changes soon. In the mean time, continue to enjoy my comics and accept my I.O.U. for more software development examples and instruction.
|Amphibian.com comic for 14 October 2015|