What is technical debt?

trevane

I was just reading a story about a development project, and the CTO mentioned "technical debt".  What is that, and how is that monitored and managed?

Answer this Question

Answers

2 total
jimlynch
Vote Up (6)

Technical debt
http://en.wikipedia.org/wiki/Technical_debt

"Technical debt (also known as design debt[citation needed] or code debt) is a neologistic metaphor referring to the eventual consequences of poor software architecture and software development within a codebase. The debt can be thought of as work that needs to be done before a particular job can be considered complete. If the debt is not repaid, then it will keep on accumulating interest, making it hard to implement changes later on. Unaddressed technical debt increases software entropy.

As a change is started on a codebase, there is often the need to make other coordinated changes at the same time in other parts of the codebase or documentation. The other required, but uncompleted changes, are considered debt that must be paid at some point in the future. Just like financial debt, these uncompleted changes incur interest on top of interest, making it cumbersome to build a project. Although the term is used in software development primarily, it can also be applied to other professions."

StillADotcommer
Vote Up (6)

 It’s a somewhat clever way of saying cutting corners for a short term savings will cost you more in the long run. Basically, if a project has to be finished very quickly with less testing, the code will be more likely to have errors to be fixed later. Sometimes, this is the lesser of two evils if one is facing a hard deadline. However, a great example of this in practice (to some degree, anyway) is the federal government’s healthcare website, and while it met the deadline, the result was a broken site that had to be fixed at considerable cost in time, money and credibility. 

 

Here is an interesting article making the point that sometimes technical debt may be ok. 

Ask a question

Join Now or Sign In to ask a question.
GitHub has been called the 'social network for programmers.' Here's how to get started on the popular site for sharing and hosting code (and other things).
Despite becoming one of the most widely used programming languages on the Web, PHP didn't have a formal specification -- until now.
Linux’s creator goes on another epic rant
In response to a query from Vint Cerf, professional developers explain why they don’t feel a membership in the Association for Computing Machinery is worth the cost
The venerable GNU compiler wins the ACM’s Programming Languages Software Award while simultaneously coming under fire from the Linux creator
Devops could be the latest and greatest buzzword, but it could also mean big and important changes - for the better- at many organizations in how applications are built and deployed.
Only six weeks after its release, Apple’s new programming language appears to already be on its way to replacing Objective-C
Beginning this fall, French primary school students will have the option of learning computer science
The recent release of Ubuntu 14.04 Long Term Support/LTS (Trusty Tahr) proves to us once again that it doesn't matter if you're Oracle, Microsoft, or Canonical: Bringing a fleet of products into new release revision synch is tough.
A new GitHub repo is collecting the life lessons that one can learn from programming
Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+