Advertisement

Technical Debt: Showing the Way for Better Transfer of Empirical Results

  • Forrest ShullEmail author
  • Davide Falessi
  • Carolyn Seaman
  • Madeline Diep
  • Lucas Layman
Chapter

Abstract

In this chapter, we discuss recent progress and opportunities in empirical software engineering by focusing on a particular technology, Technical Debt (TD), which ties together many recent developments in the field. Recent advances in TD research are providing empiricists the chance to make more sophisticated recommendations that have observable impact on practice.

TD uses a financial metaphor and provides a framework for articulating the notion of tradeoffs between the short-term benefits and the long-term costs of software development decisions. TD is seeing an explosion of interest in the practitioner community, and research in this area is quickly having an impact on practice. We argue that this is due to several strands of empirical research reaching a level of maturity that provides useful benefits to practitioners, who in turn provide excellent data to researchers. They key is providing observable benefit to practitioners, such as the ability to tie technical debt measures to business goals, and the ability to articulate more sophisticated value-based propositions regarding how to prioritize rework. TD is an interesting case study in how the maturing field of empirical software engineering research is paying dividends. It is only a little hyperbolic to call this a watershed moment for empirical study, where many areas of progress are coming to a head at the same time.

Keywords

Software Engineering Software Quality Technical Debt Software Engineering Research Code Smell 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Basili, V.R.: A personal perspective on the evolution of empirical software engineering. In: Münch, J., Schmid, K. (eds.) Perspectives on the Future of Software Engineering: Essays in Honor of Dieter Rombach. Springer (2013)Google Scholar
  2. 2.
    Cunningham, W.: The WyCash portfolio management system. ACM SIGPLAN OOPS Messenger 4(2), 29–30 (1993). doi: 10.1145/157710.157715 CrossRefGoogle Scholar
  3. 3.
    Lehman, M.M., Belady, L.A.: Program Evolution - Processes of Software Change, APIC Sudies in Data Processing No. 27, Academic (1985)Google Scholar
  4. 4.
    Parnas, D.L.: Software aging. In: Proceedings of 16th International Conference on Software Engineering, pp. 279–287. IEEE Computer Society Press. doi: 10.1109/ICSE.1994.296790 (1994)
  5. 5.
    Kruchten, P., Nord, R.L., Ozkaya, I.: Technical debt: from metaphor to theory and practice. IEEE Softw. 29(6), 18–21 (2012). doi: 10.1109/MS.2012.167 CrossRefGoogle Scholar
  6. 6.
    Sterling, C.: Managing Software Debt: Building for Inevitable Change. Agile Software Development Series. Addison-Wesley Professional (2010). ISBN-10: 0321554132Google Scholar
  7. 7.
    Basili, V.R., Selby, R.W.: Comparing the effectiveness of software testing strategies. IEEE Trans. Softw. Eng. SE-13(12), 1278–1296 (1987). doi: 10.1109/TSE.1987.232881 CrossRefGoogle Scholar
  8. 8.
    Basili, V.R., Green, S., Laitenberger, O., Shull, F., Sørumgård, S., Zelkowitz, M.V.: The empirical investigation of perspective-based reading. Retrieved from http://dl.acm.org/citation.cfm?id=241252 (1995)
  9. 9.
    Biffl, S., Aurum, A., Boehm, B., Erdogmus, H., Grünbacher, P.: Value-Based Software Engineering (Google eBook), p. 388. Springer. Retrieved from http://books.google.com/books?id=CAlM6nNPcsgC&pgis=1 (2006)
  10. 10.
    McConnell, S.: 10x software development. Retrieved from http://forums.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx (2007)
  11. 11.
    Fowler, M.: Technical debt quadrant. Retrieved from http://www.martinfowler.com/bliki/TechnicalDebtQuadrant.html (2009)
  12. 12.
    Rothman, J.: An incremental technique to pay off testing technical debt. Retrieved from http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&ObjectId=11011&tth=DYN&tt=siteemail&iDyn=2 (2006)
  13. 13.
    Brown, N., Ozkaya, I., Sangwan, R., Seaman, C., Sullivan, K., Zazworka, N., Cai, Y., et al.: Managing technical debt in software-reliant systems. In: Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research – FoSER’10, p. 47. ACM Press, New York. doi: 10.1145/1882362.1882373 (2010)
  14. 14.
    Zazworka, N., Shaw, M. A., Shull, F., Seaman, C.: Investigating the impact of design debt on software quality. In: Proceeding of the 2nd Working on Managing Technical Debt – MTD’11, p. 17. ACM Press, New York. doi: 10.1145/1985362.1985366 (2011)
  15. 15.
    Dybå, T., Prikladnicki, R., Rönkkö, K., Seaman, C., Sillito, J.: Qualitative research in software engineering. Empirical Softw. Eng. 16(4), 425–429 (2011). doi: 10.1007/s10664-011-9163-y CrossRefGoogle Scholar
  16. 16.
    Dittrich, Y., John, M., Singer, J., Tessem, B.: For the special issue on qualitative software engineering research. Inf. Softw. Technol. 49(6), 531–539 (2007). doi: 10.1016/j.infsof.2007.02.009 CrossRefGoogle Scholar
  17. 17.
    Lim, E., Taksande, N., Seaman, C.: A balancing act: what software practitioners have to say about technical debt. IEEE Softw. 29(6), 22–27 (2012). doi: 10.1109/MS.2012.130 CrossRefGoogle Scholar
  18. 18.
    Guo, Y., Seaman, C., Gomes, R., Cavalcanti, A., Tonin, G., Da Silva, F. Q. B., Santos, A. L. M., et al.: Tracking technical debt – an exploratory case study. In: 2011 27th IEEE International Conference on Software Maintenance (ICSM), pp. 528–531. IEEE. doi: 10.1109/ICSM.2011.6080824 (2011)
  19. 19.
    Schumacher, J., Zazworka, N., Shull, F., Seaman, C., Shaw, M.: Building empirical support for automated code smell detection. In: Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement – ESEM ’10, p. 1. ACM Press, New York. doi: 10.1145/1852786.1852797 (2010)
  20. 20.
    Hochstein, L., Shull, F., Reid, L.B.: The role of MPI in development time: a case study. In: 2008 SC – International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 1–10. IEEE. doi: 10.1109/SC.2008.5213771 (2008)
  21. 21.
    Zazworka, N., Basili, V.R., Shull, F.: Tool supported detection and judgment of nonconformance in process execution. In: 2009 3rd International Symposium on Empirical Software Engineering and Measurement, pp. 312–323. IEEE. doi: 10.1109/ESEM.2009.5315983 (2009)

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Forrest Shull
    • 1
    Email author
  • Davide Falessi
    • 1
  • Carolyn Seaman
    • 1
  • Madeline Diep
    • 1
  • Lucas Layman
    • 1
  1. 1.Fraunhofer Center for Experimental Software EngineeringCollege ParkUSA

Personalised recommendations