Thursday, June 14, 2012

Technical Debt

The "technical debt" metaphor was created by Ward Cunningham as a way to understand and track the intentional and unintentional design and coding shortcomings of software.

We take on technical debt when we oversimplify a design or recklessly create a flawed design.
We take on technical debt when we wisely or unwisely write code that does not work as well as it should.

Taking this metaphor from the financial world, debt is one of the ways to finance an organization.
It can provide the cash needed to make payroll. It provides the organization an opportunity to buy things like furniture and equipment. If the payments on interest and principal are well managed then the organization can properly handle the costs of financial debt.

The same is true for technical debt. With technical debt, the "interest payments" are the added effort and frustration caused by the inadequacies of the current design and source code. In this metaphor, the "principal payments" are the effort needed to go back and remediate or improve the design and source code.


From “Pro .NET Best Practices”

No comments:

Post a Comment