Skip to main content
Log in

Exploring the costs of technical debt management – a case study

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

Technical debt is a metaphor for delayed software maintenance tasks. Incurring technical debt may bring short-term benefits to a project, but such benefits are often achieved at the cost of extra work in future, analogous to paying interest on the debt. Currently technical debt is managed implicitly, if at all. However, on large systems, it is too easy to lose track of delayed tasks or to misunderstand their impact. Therefore, we have proposed a new approach to managing technical debt, which we believe to be helpful for software managers to make informed decisions. In this study we explored the costs of the new approach by tracking the technical debt management activities in an on-going software project. The results from the study provided insights into the impact of technical debt management on software projects. In particular, we found that there is a significant start-up cost when beginning to track and monitor technical debt, but the cost of ongoing management soon declines to very reasonable levels.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  • Alberts CJ et al (1996) Continuous risk management guidebook. Software Engineering Institute Carnegie Mellon University, Pittsburgh

    Google Scholar 

  • Alter S, Ginzberg M (1978) Managing uncertainty in MIS implementation. Sloan Manag Rev 20:23–31

    Google Scholar 

  • Bachmann F, Nord R L, Ozkaya I (2012) Architectural tactics to support rapid and agile stability. CrossTalk, May/June-2012:20–25

  • Boehm BW (1991) Software risk management: principles and practices. IEEE Softw 8:32

    Article  Google Scholar 

  • Boehm BW (1981), Software engineering economics. Englewood Cliffs, Prentice-Hall, New Jersey, USA

  • Bohnet J, Döllner J (2011) Monitoring code quality and development activity by software maps. In: Proceedings of the 2nd workshop on managing technical debt (MTD ’11), pp 9–16

  • Brondum J, Zhu L (2012) Visualizing Architectural Dependencies. In: Proceedings of the 3rd workshop on managing technical debt (MTD ’12), pp 7–14

  • Brown N, Nord R L, Ozkaya I, Pais M (2011) Analysis and management of architectural dependencies in iterative release planning. In: Proceedings of the 9th working IEEE/IFIP conference on software architecture (WICSA), pp.103-112

  • CAST (2012) Cast worldwide application software quality study: summary of key findings. Cast report

  • Charette RN (1989) Software engineering, risk analysis and management Intertext publications. McGraw-Hill Book Co, New York

    Google Scholar 

  • Cunningham W (1992) The wycash portfolio management system. In: Addendum to the proceedings on Object-oriented programming systems, languages, and applications, pp 29–30

  • Dalkey N, Helmer O (1963) An experimental application of the delphi method to the use of experts. Manag Sci 9:458–467

    Article  Google Scholar 

  • DoD U (2006) Risk management guide for DoD acquisition. Department of Defense, USA

  • Emden E V, Moonen L (2002) Java quality assurance by detecting code smells. In: Proceedings of the ninth working conference on reverse engineering, pp 97–106

  • Fairley R (1994) Risk management for software projects. IEEE Softw 11:57–67

    Article  Google Scholar 

  • Fowler M (2003) Technical debt. Web. http://www.martinfowler.com/bliki/TechnicalDebt.html. Accessed 1 May 2008

  • Fowler M (2007) Design stamina hypothesis. Web. http://www.martinfowler.com/bliki/DesignStaminaHypothesis.html. Accessed 1 May 2008

  • Fowler M (2009) Technical debt quadrant. Web. http://martinfowler.com/bliki/TechnicalDebtQuadrant.html. Accessed 1 Dec 2013

  • Fowler M, Beck K, Brant J, Opdyke W, Roberts D (1999) Refactoring: improving the design of existing code, Addison-Wesley

  • Gaudin O (2009) Evaluate your technical debt with Sonar. http://www.sonarqube.org/evaluate-your-technical-debt-with-sonar. Accessed 1 June 2014

  • Guo Y, Seaman C, Gomes R, Cavalcanti A, Tonin G, Da Silva F Q B, Santos A L M, Siebra C (2011) Tracking technical debt – an exploratory case study. In: Proceedings of 27th IEEE international conference on software Maintenance (ICSM’11), pp 528–531

  • Higuera RP, Haimes YY (1996) Software risk management. Software Engineering Institute Carnegie Mellon University, Pittsburgh

    Google Scholar 

  • ISO (2002) Risk management - principles and guidelines on implementation. International Organization for Standardization

  • Kontio J (2001) Software engineering risk management: a method, improvement framework and empirical evaluation. Dissertation, Helsinki University of Technology

  • Lester A (2008) Get out of technical debt. Web. http://petdance.com/perl/technical-debt/. Accessed 1 May 2008

  • Letouzey, J-L (2012) The SQALE method for evaluating technical debt. In: Proceedings of the 3rd workshop on managing technical debt (MTD’12), pp 31–36

  • Leung H, Fan Z (2002) Software cost estimation. Handbook of software engineering and knowledge engineering. World Scientific Pub Co, River Edge

    Google Scholar 

  • Marinescu R (2012) Assessing technical debt by identifying design flaws in software systems. IBM J Res Dev 56(5):1–13

    Article  Google Scholar 

  • McConnell S (2007) 10x software development. Web. http://forums.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx. Accessed 1 May 2008

  • Mo R, Garcia, J, Cai Y, Medvidovic N (2013) Mapping Architectural Decay Instances into Dependency Models. In: Proceedings of the 4th workshop on managing technical debt (MTD ’13), pp 39–46

  • Nord R L, Ozkaya I, Kruchten P, Gonzalez-Rojas M (2012) In search of a metric for managing architectural technical debt. In: Proceedings of the joint 10th working IEEE/IFIP conference on software architecture (WICSA) and the 6th European conference on software architecture (ECSA), pp 91–100

  • Nugroho A, Visser J, Kuipers T (2011) An empirical model of technical debt and interest. In: Proceedings of the 2nd workshop on managing technical debt (MTD ’11), pp 1–8

  • Parkinson CN (1957) Parkinson’s law and other studies in administration. Houghton Mifflin, Boston

    Google Scholar 

  • Putnam LH (1978) A general empirical solution to the macro software sizing and estimating problem. IEEE Trans Softw Eng 4:345–361

    Article  MATH  Google Scholar 

  • Rothman J (2006) An incremental technique to pay off testing technical debt. Web. http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&ObjectId=11011&tth=DYN&tt=siteemail&iDyn=2. Accessed 1 May 2008

  • Schmid K (2013) A formal approach to technical debt decision making. In: Proceedings of the 9th international ACM Sigsoft conference on quality of software architectures (QoSA’13), pp 153–162

  • Seaman C, Guo Y (2011) Measuring and monitoring technical debt. Adv Comput 82:25–46

    Article  Google Scholar 

  • Shepperd M, Kadoda G (2001) Comparing software prediction techniques using simulation. IEEE Trans Softw Eng 27:1014–1022

    Article  Google Scholar 

  • Sisti FJ, Joseph S (1994) Software risk evaluation method. Software Engineering Institute Carnegie Mellon University, Pittsburgh

    Google Scholar 

  • Stamatelatos M (2002) Probabilistic risk assessment procedures guide for nasa managers and practitioners. NASA

  • Wang P, Yang J, Tan L, Kroeger R, Morgenthaler J D (2013) Generating precise pependencies for large software. In: Proceedings of the 4th workshop on managing technical debt (MTD ’13), pp 47–50

  • Yin RK (1994) Case study research: design and methods, 2nd edn. Sage Publications, Thousand Oaks

    Google Scholar 

  • Zazworka N, Seaman C, Shull F (2011) Prioritizing design debt investment opportunities. In: Proceedings of the 2nd workshop on managing technical debt (MTD ’11), pp 39–42

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yuepu Guo.

Additional information

Communicated by: Tony Gorschek

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Guo, Y., Spínola, R.O. & Seaman, C. Exploring the costs of technical debt management – a case study. Empir Software Eng 21, 159–182 (2016). https://doi.org/10.1007/s10664-014-9351-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-014-9351-7

Keywords

Navigation