Anthony Ferrara has written up a great post on technical debt, relating it to terms that might be a bit more "real world" for many out there - corresponding financial problems.
Lately, I've found myself in a number of discussions about Technical Debt and how it applies to project development. Overall, I think it's a very powerful tool that -- when used wisely -- can be a great asset to any team. It seems to me that most of the people that I've been talking to really don't agree, and see Technical Debt as a plague that should be eliminated at first sight. So, I figured I'd share my opinions, and see what you think...
He talks about a few different kinds of technical debt described by the names of their financial counterparts:
- the Payday Loan (a current concession for the sake of time)
- a Mortgage (making small parts, payments, of a whole without consideration of the overall picture)
- a Credit Card (not knowing the need causes a sub-optimal solution)
- Hidden Debit (an unclear understanding of the full scope of the debt)
He also touches on two other topics - how to find and get rid of the Hidden Debt your project might have and a common misconception that technical debt doesn't exist in an aglie world.