very high cost, be it declaring bankruptcy, losing your house, or (if you
borrowed from the wrong person) a
long walk off a short pier wearing cement shoes.
illUStration by gary neill
Technical debt is similar in some
ways, but different in others. Although
you don’t have to pay back the debt on
any fixed schedule (and some debts
may never need to be paid back), you
generally do have to pay back (that is,
rewrite the code or otherwise fix the
problem) the parts that affect you or
your customers in a significant way.
The “interest” is accrued every time
you or anyone else (support-desk work-
ers, future programmers, customers,
and so on) working with your system is
delayed because of bugs, performance
problems, inexplicable misfeatures,
time spent researching what has gone
wrong when the system could have giv-
en a more explicit error message, and
so on. Failure to fix problems can result
in the utter collapse of a system—the
customer gives up and goes elsewhere,
the system becomes so slow and brittle
that it has to be rewritten from scratch,
or in extreme cases the company is
forced to close its doors.