What is Technical Debt?

By Mark | April 27th, 2009

Carrying DebtTechnical debt is when a software developer builds something in a ‘hackish’ way. A quick a dirty way that while works, makes the software more fragile, prone to bugs, and harder to maintain.

Technical debt is taken on when a project absolutely must be completed by a certain deadline.

But like financial debt it also comes with a few negatives. The accumulated technical debt will slow down all future development of the project because of increased work required to fix bugs in the ‘hacked’ sections of code, maintain the existing code, and to work around it. In the financial world, these would be called ‘interest payments’.

Technical debt is analogous to financial debt.

If technical debt gets out of control, the project may be doomed to be in ‘almost ready but a few key bugs’ mode for a long long time.

It’s important to pay off the technical debt, and fix the bad design decisions when you can (just like it’s important to pay down financial debt).

Related posts:

  1. NASA, switching to open-source coding for new shuttle technology?
  2. Non-Functional Constraints
  3. Open Web Conference. Hello Vancouver!

Tags: , , ,

  • Share/Bookmark
  • It seems with this analogy, an extension is equivalent to a bail out!
blog comments powered by Disqus