Project |
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 |
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 |