skip to main content
10.1145/1882362.1882373acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Managing technical debt in software-reliant systems

Authors Info & Claims
Published:07 November 2010Publication History

ABSTRACT

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.

References

  1. Biffl, S., Aurum, A., Boehm, B., Erdogmus, H. and Grunbacher, P. 2005. Value-Based Software Engineering. Springer, Berlin. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Brown, N., Nord, R., Ozkaya, I. 2010 Enabling Agility through Architecture, Crosstalk Nov/Dec 2010.Google ScholarGoogle Scholar
  3. Cohn, M. 2006 Agile Estimation and Planning, Prentice Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Cunningham, W. 1992. The WyCash Portfolio Management System. OOPSLA' 92 Experience Report. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Denne, M., & Cleland-Huang, J. 2004. Software by Numbers: Low-Risk, High-Return Development. Upper Saddle River, N.J.: Prentice Hall.Google ScholarGoogle Scholar
  6. Erdogmus, H., Morisio, M., and Torchiano, M. 2005. On the Effectiveness of the Test-First Approach to Programming. IEEE Trans. Softw. Eng. 31, 3 (Mar. 2005), 226--237. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Fowler, M. Technical Debt Quadrant. Bliki {Blog} 2009. {cited 2010 June 14}; Available from: http://www.martinfowler.com/bliki/TechnicalDebtQuadrant.html.Google ScholarGoogle Scholar
  8. Fowler, M. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Gaudin, O. 2009. Evaluate your technical debt with Sonar. {cited 2010 June 14}; Available from: http://www.sonarsource.org/evaluate-your-technical-debt-with-sonar/Google ScholarGoogle Scholar
  10. Highsmith, J. 2009. Agile Project Management 2nd ed. Addison Wesley.Google ScholarGoogle Scholar
  11. Hinsman C., Sangal, N., Stafford, J. 2009. Achieving Agility Through Architecture Visibility, in LNCS 5581/2009, Architectures for Adaptive Software Systems, pp.116--129. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Kamiya, T.; Kusumoto, S. & Inoue, K. 2002. CCFinder: A Multilinguistic Token-Based Code Clone Detection System for Large Scale Source Code. IEEE TSE, 2002, 28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kim, M. and Notkin, D. 2009. Discovering and representing systematic code changes. In Proc. ICSE 31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Leffingwell, D. 2007. Scaling Software Agility, Boston: Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Lehman, M.M. and Belady, L.A. (eds) 1985. Program evolution: processes of software change. Academic Press Professional, Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Martin, Robert C. 2008. Clean Code: A Handbook of Agile Software Craftsmanship. Addison Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Mens, T. 2008. Introduction and Roadmap: History and Challenges of Software Evolution in T. Mens, S. Demeyer eds. Software Evolution, Springer, 2008, pp. 1--11.Google ScholarGoogle ScholarCross RefCross Ref
  18. McConnell, S. 2007. Technical Debt. 10x Software Development {cited 2010 June 14}; http://blogs.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx.Google ScholarGoogle Scholar
  19. Parnas, D.L. 1994. Software Aging, Proc. ICSE 16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Rothman, J. An Incremental Technique to Pay Off Testing Technical Debt. {Weekly Column} 2006 {cited 2010 February 9}; Available from: http://www.stickyminds.com/sitewide.asp Function=edetail&ObjectType=COL&ObjectId=11011&tth=DYN&tt=siteemail&iDyn=2.Google ScholarGoogle Scholar
  21. Sutherland, J. 2005. Future of Scrum: Parallel Pipelining of Sprints in Complex Projects. Proceedings of the Agile 2005, pp. 90--102. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Managing technical debt in software-reliant systems

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        FoSER '10: Proceedings of the FSE/SDP workshop on Future of software engineering research
        November 2010
        460 pages
        ISBN:9781450304276
        DOI:10.1145/1882362

        Copyright © 2010 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 7 November 2010

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader