Definition

technical debt

In software development, technical debt is a metaphor equating Extreme Programming’s incremental, get-something-started approach with the easy acquisition of money through fast loans.

A monetary loan, of course, has to be paid back with interest. In terms of software development, payback requires the developers to refactor the program as they learn more about how it interacts with other applications and which features end users are using, or not using, or wish they had. Just as monetary debt can easily spiral out of control if not managed properly, so can technical debt.

In business, the metaphor is often used to illustrate the concept that an organization will end up spending more in the future by not addressing a technical problem when it first presents itself. The assumption is that if an organization chooses to ignore a course of action it knows should be taken, the organization will risk paying for it in terms of time, money or damage to the organization's reputation in the future. As time goes by, efforts to go back and address the original problem may become complicated by new developments. Eventually the problem may reach a tipping point and the organization must then decide whether or not to honor its original debt and continue investing time and effort to fix the problem. This decision can be made more difficult by something called the sunk cost effect, which is the emotional tendency of humans to want to continue investing in something that clearly isn't working.  

The metaphor is credited to software developer Ward Cunningham, who is perhaps best known for creating the first wiki.  Cunningham proposes that getting software up and working as quickly as possible is not necessarily a bad thing. Cash that has been acquired with a loan can be spent right away. Similarly, a software product that ships quickly can provide immediate benefit to the business that needs it -- while also providing the program's developers with valuable feedback about how their code is working in the real world. 

Ward Cunningham explains why he chose the word debt.

 

 

Related glossary terms: SAP Solution Manager
Contributor(s): Todd Morrison
This was last updated in December 2013
Posted by: Margaret Rouse

Email Alerts

Register now to receive SearchSAP.com-related news, tips and more, delivered to your inbox.
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

More News and Tutorials

Do you have something to add to this definition? Let us know.

Send your comments to techterms@whatis.com

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: