Publication | Closed Access
Managing technical debt in software-reliant systems
407
Citations
10
References
2010
Year
Unknown Venue
Software MaintenanceEngineeringProject ManagementSoftware EngineeringTechnical Debt MetaphorSoftware AnalysisAgile Software DevelopmentDebt ManagementSystems EngineeringSoftware PracticeSoftware Engineering EconomicsQuantitative ManagementSoftware EconomicsAgile DevelopmentDesignSoftware EngineersTechnical DebtFinanceSoftware DesignSoftware EvolutionDevelopment MethodologySoftware TestingBusinessTechnologySystem SoftwareCapital StructureBankruptcy
Delivering increasingly complex software‑reliant systems requires better ways to manage the long‑term effects of short‑term expedients, a challenge that the growing technical debt metaphor seeks to address by framing compromises as debts that accrue interest and must be repaid for long‑term health. We argue that the software engineering research community should study and improve the technical debt concept and propose it as a future research agenda. We offer software engineers a foundation for managing trade‑offs by modeling their economic impacts, providing a basis for systematic debt management.
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1