Managing technical debt in software-reliant systems

N Brown, Y Cai, Y Guo, R Kazman, M Kim… - Proceedings of the FSE …, 2010 - dl.acm.org
N Brown, Y Cai, Y Guo, R Kazman, M Kim, P Kruchten, E Lim, A MacCormack, R Nord…
Proceedings of the FSE/SDP workshop on Future of software engineering research, 2010dl.acm.org
Delivering increasingly complex software-reliant systems demands better ways to manage
the long-term effects of short-term expedients. The technical debt metaphor is gaining
significant traction in the agile development community as a way to understand and
communicate such issues. The idea is that developers sometimes accept compromises in a
system in one dimension (eg, modularity) to meet an urgent demand in some other
dimension (eg, a deadline), and that such compromises incur a" debt": on which" interest" …
Delivering increasingly complex software-reliant systems demands better ways to manage the long-term effects of short-term expedients. The technical debt metaphor is gaining significant traction in the agile development community as a way to understand and communicate such issues. The idea is that developers sometimes accept compromises in a system in one dimension (e.g., modularity) to meet an urgent demand in some other dimension (e.g., a deadline), and that such compromises incur a "debt": on which "interest" has to be paid and which the "principal" should be repaid at some point for the long-term health of the project. We argue that the software engineering research community has an opportunity to study and improve this concept. We can offer software engineers a foundation for managing such trade-offs based on models of their economic impacts. Therefore, we propose managing technical debt as a part of the future research agenda for the software engineering field.
ACM Digital Library