Technical debt is a metaphor for immature, incomplete, or inadequate artifacts in the software development lifecycle. Incurring technical debt brings short term benefits such as reduced development time or effort, but causes higher costs and lower quality in the long run. Software managers need to balance the benefits of technical debt with the associated costs when making decisions about what technical debt should be incurred or paid and when. The uncertainty associated with technical debt complicates this decision making. Therefore identifying, measuring and monitoring technical debt would help managers to make informed decisions, resulting in higher quality of maintained software and greater maintenance

Carolyn Seaman, Department of Information Systems, 1000 Hilltop Circle, Baltimore, MD 21250

To contact us:

Phone: 410-455-3937

Fax: 410-455-1073

E-mail: cseaman at umbc dot edu

Text Box:

Measuring and Monitoring Technical Debt

Shipping first time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite. Objects make the cost of this transaction tolerable. The danger occurs when the debt is not repaid. Every minute spent on not-quite-right code counts as interest on that debt.

Ward Cunningham

productivity. The technical debt concept currently lacks an underlying theory, models to aid its analysis, and mechanisms to facilitate its management. The objectives of this research project are to develop a comprehensive technical debt theory that formalizes the relationship between the cost and benefit sides of the concept, and to develop and evaluate models and mechanisms for managing technical debt.

* This work is supported by NSF grant #0916699.

See also:

Last modified on 12/10/2012