"Technical debt" is the mess you make when you take shortcuts while developing software.
It's a very powerful concept and it's easy to explain it to anyone with the basic understanding in taking loans, even without any technical background (for example, management).
When you do something the quick and dirty way, instead of the right way, you take on technical debt, every time you have to do something with that code it's now going to take longer because its badly designed (just like interest payments) and you should sometime re-write the offending code (pay off the debt) and that will take more time than writing it write to begin with (more interest).
Just like financial debt, when used wisely, let's you spend now money you'll only have later – at a (sometimes considerable) cost, technical dept let you get something done quickly and the cost is more work down the road.
Also just like financial debt, when you take on more technical debt then you have the ability to pay off (either due to bad planning or without noticing) your product is doomed.
Here is an article by Steve McConnell that describes technical debt better then I'm able to.
posted @ Sunday, November 2, 2008 4:31 PM