The practitioners’ point of view on the concept of technical debt and its causes and consequences: a design for a global family of industrial surveys and its first results from Brazil

Abstract

Context

Studying the causes of technical debt (TD) could aid in TD prevention, thus easing the job of TD management. On the other hand, better understanding of the effects of TD could also aid in TD management by facilitating more informed decisions about incurring and paying off debt.

Objective

Create a deeper understanding, and confirming existing evidence, of the causes and effects of TD by collecting new evidence from real-world TD examples.

Method

InsighTD is a globally distributed family of industrial surveys on the causes and effects of TD. It is designed to run as a large-scale study based on continuous and independent replications in different countries. The survey instrument asks practitioners to describe in detail a real example of TD from their experience. We present in this paper the design of InsighTD, which has the primary goal of replication at a large-scale, with the results of the study in Brazil as a small part of the larger puzzle.

Results

The first iteration of the InsighTD survey, carried out in Brazil, yielded 107 responses. We identified a total of 78 causes and 66 effects, which confirm and also extend the current knowledge on causes and effects of TD. Then, we organized the identified set of causes and effects in probabilistic cause-effect diagrams. The proposed diagrams highlight the causes that can most contribute to the occurrence of TD as well as the most common effects that occur as a result of debt.

Conclusion

We intend to reduce the problem of isolated TD investigations that are not yet representative and build a continuous and generalizable empirical basis for understanding practical problems and challenges of TD.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Notes

  1. 1.

    Agile: a lightweight process that promotes iterative development, close collaboration between the development team and business side, constant communication, and tightly-knit teams (Beck et al. 2001; Alliance et al. 2016; Pressman and Maxim 2014).

  2. 2.

    Hybrid: is the combination of agile methods with other non-agile techniques. For example, a detailed requirements effort, followed by sprints of incremental delivery (Alliance et al. 2016; Pressman and Maxim 2014).

  3. 3.

    Traditional: conventional document-driven software development methods that can be characterized as extensive planning, standardization of development stages, formalized communication, significant documentation and design up front (Pressman and Maxim 2014).

  4. 4.

    TD indicators allow the discovery of TD items when analyzing different software development artifacts. An TD indicator is sometimes a metric, or sometimes something less formal, that can be used to point to areas with specific types of debt (Alves et al. 2016).

References

  1. Alliance A, Hartman B, Griffiths M et al. (2016) What is hybrid agile, Anyway? Agileallianceorghttps://wwwagileallianceorg/what-is-hybrid-agile-anyway/ Acessed 29 March 2018

  2. Alves NSR, Mendes TS, Mendonça MG, Spínola RO (2016) Shull F and Seaman C (2016) identification and Management of Technical Debt: a systematic mapping study. Inf Softw Technol 70:100–121. https://doi.org/10.1016/j.infsof.2015.10.008

    Article  Google Scholar 

  3. Avgeriou P, Kruchten P, Ozkaya I, and Seaman C (2016) Managing Technical Debt in Software Engineering (Dagstuhl Seminar 16162). In Dagstuhl Reports (Vol. 6, No. 4). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik

  4. Beck K , Beedle M, Bennekum A, Cockburn A et al. (2001) Manifesto for agile software development. Agileallianceorghttps://wwwagileallianceorg/agile101/the-agile-manifesto/ Acessed 29 March 2018

  5. Besker T, Martini A, and Bosch J (2017a) Impact of architectural technical debt on daily software development work — a survey of software practitioners. In the 43rd Euromicro conference on software engineering and advanced applications (SEAA), Vienna, Austria, 2017a. DOI: https://doi.org/10.1109/SEAA.2017.16

  6. Besker T, Martini A, and Bosch J (2017b) the pricey bill of technical debt - when and by whom will it be paid? In: IEEE International Conference on Software Maintenance and Evolution. ICSME, Shanghai. https://doi.org/10.1109/ICSME.2017.42

  7. Besker T, Martini A, Bosch J (2018a) Managing architectural technical debt: a unified model and systematic literature review. J Syst Softw 135:1–16. https://doi.org/10.1016/j.jss.2017.09.025

    Article  Google Scholar 

  8. Besker T, Martini A, Bosch J (2018b) technical debt cripples software developer productivity: a longitudinal study on Developers’ daily software development work. In: International Conference on Technical Debt. TechDebt, Gothenburg

    Google Scholar 

  9. Buzan T (1974) Using both sides of the brain. Dutton, New York

    Google Scholar 

  10. Buzan T (1995) The mind map book, 2nd edn. BBC Books, London

    Google Scholar 

  11. Card D (1993) Defect causal analysis drives down error rates. IEEE Softw 10(4):98–99

    Article  Google Scholar 

  12. Codabux Z and Williams B (2013) Managing technical debt: an industrial case study. 2013 4th international workshop on managing technical debt (MTD). doi:https://doi.org/10.1109/mtd.2013.6608672

  13. Ernst NA, Bellomo S, Ozkaya I, Nord RL, Gorton I (2015) Measure it? Manage it? Ignore it? software practitioners and technical debt. In: Proceedings of the 2015 10th joint meeting on foundations of software engineering (ESEC/FSE 2015). ACM, New York, pp 50–60

    Google Scholar 

  14. Fernandez DM, Wagner S, Kalinowski M, Schekelmann A, Tuzcu A, Conte T, Spinola R, Prikladnicki R (2015) Naming the pain in requirements engineering: comparing practices in Brazil and Germany. IEEE Softw 32(5):16–23

    Article  Google Scholar 

  15. Freire S, Rios N, Mendonça M, Falessi D, Seaman C, Izurieta C, and Spínola RO (2020) Actions and impediments for technical debt prevention: results from a global family of industrial surveys. To appear in the proceedings of the 35th ACM/SIGAPP symposium on applied computing, Brno, Czech Republic

  16. Griffith I, Izurieta C, Taffahi H, Claudio D (2014) A simulation study of practical methods for technical debt management in agile software development, in proceedings of the 2014 winter simulation conference, Piscataway

  17. Guo Y, Seaman C (2011) A portfolio approach to technical debt management, MTD 11: Proc. of the 2nd workshop on managing technical debt. ACM, New York, pp 31–34. https://doi.org/10.1145/1985362.1985370

  18. Guo Y, Spínola RO, Seaman C (2014) Exploring the costs of technical debt management – a case study, empirical software engineering, v. 1, pp 159–182. https://doi.org/10.1007/s10664-014-9351-7

    Book  Google Scholar 

  19. Ishikawa K (1976) Guide to quality control. Asian Productivity Organization, Tokyo

    Google Scholar 

  20. Kalinowski M, Travassos GH, Card DN (2008) Towards a defect prevention based process improvement approach. In: Euromicro Conf. on Soft. Eng. and Advanced Applications, pp 199–206

    Google Scholar 

  21. Kruchten P, Nord RL and Ozkaya I (2012) Technical Debt: From Metaphor to Theory and Practice. IEEE Software, Published by the IEEE Computer Society. Volume: 29, Issue: 6, Nov-Dec, Page(s): 18–21 DOI: https://doi.org/10.1109/MS.2012.167

  22. Li Z, Avgeriou P, Liang P (2015) A systematic mapping study on technical debt and its management. In Journal of Systems and Software, Volume 101(March 2015):193–220. https://doi.org/10.1016/j.jss.2014.12.027

    Article  Google Scholar 

  23. Martini A, Bosch J (2015) Towards prioritizing architecture technical debt: information needs of architects and product owners. In: 41st Euromicro Conf. On soft. Eng. And advanced applications (SEAA). IEEE, pp 422–429

  24. Martini A and Bosch J (2017) On the interest of architectural technical debt: Uncovering the contagious debt phenomenon J Softw Evol Proc; e1877. https://doi.org/10.1002/smr.1877

  25. Martini A, Bosch J, Chaudron M (2014) Architecture technical debt: understanding causes and a qualitative model. In: Proceedings of the 2014 40th Euromicro conference on software engineering and advanced applications (SEAA '14). IEEE Computer Society, Washington, DC, USA, pp 85–92

    Google Scholar 

  26. McConnell S (2007) “Technical debt,” 10x Software Development Blog. Construx Conversations. URL= http://blogs.construx. com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx, 2007

  27. Nord, R.; Ozkaya, I.; Kruchten, P. & Gonzalez-Rojas, M. (2012), In search of a metric for managing architectural technical debt, WICSA/ECSA 2012, IEEE CS

  28. Pacheco A, Marín-Raventós G, López G (2019) Technical debt in Costa Rica: an InsighTD survey replication. In: international conference on product-focused software process improvement. Springer, pp 236–243

  29. Pérez B, Astudillo H, Correal D, Carvajal JPB, Rios N, Spínola RO, Mendonça M, Seaman C (2019) Familiarity, causes and reactions of software practitioners to the presence of technical debt: a replicated study in the Chilean software industry. In: 38th international conference of the Chilean computer science society, 2019, Concepción

  30. Pressman RS, Maxim BR (2014) Software engineering: a Practitioner’s approach, 8th edn. McGraw-Hill Higher Education

  31. Rios N, Mendonça MG, Spínola RO (2018a) A tertiary study on technical debt: types, management strategies, research trends, and base information for practitioners. Inf. Softw. Technol. 102:117–145, ISSN 0950-5849. https://doi.org/10.1016/j.infsof.2018.05.010

    Article  Google Scholar 

  32. Rios N, Spínola RO, Mendonça D, MG SC (2018b) A study of factors that Lead development teams to incur technical debt in software projects. In: the 44th Euromicro conference on software engineering and advanced applications. Praga. https://doi.org/10.1109/SEAA.2018.00076

  33. Rios N, Spínola RO, De Mendonça, MG, Seaman C (2018c) The Most common causes and effects of technical debt: first results from a global family of industrial surveys. In: 12th international symposium on empirical software engineering and measurement, Oulu. ACM, New York, article 39, 10 pages. DOI: https://doi.org/10.1145/3239235.3268917

  34. Rios N, Santos JA, Mendonça MG, Spínola RO (2018d) Investigating technical debt folklore: a replicated survey. In: the 30th international conference on Software Engineering & Knowledge Engineering, San Francisco

  35. Rios N, Spínola RO, Mendonça MG, Seaman C (2019a) Supporting analysis of technical debt causes and effects with cross-company probabilistic cause-effect diagrams. In proceedings of the second international conference on technical debt (TechDebt '19). IEEE press, Piscataway, pp 3–12. https://doi.org/10.1109/TechDebt.2019.00009

    Book  Google Scholar 

  36. Rios N, Mendonça M, Seaman C, Spínola RO (2019b) Causes and Effects of the Presence of Technical Debt in Agile Software Projects. In: Proceedings of the 2019 Americas conference on information systems (AMCIS). Article 3, Cancun, p 10

    Google Scholar 

  37. Rios N, Mendes L, Cerdeiral C, Magalhães APF, Perez B, Correal D, Astudillo H, Seaman C, Izurieta C, Santos G, and Spínola RO (2020) Hearing the voice of software practitioners on causes, effects, and practices to Deal with documentation debt. In proceedings of the 26th working conference on requirements engineering: Foundation for Software Quality. Pisa, Italy

  38. Schreiber RS, Stern PN (2001) Using grounded theory in nursing. Springer Publishing Company, New York

    Google Scholar 

  39. Seaman C (1999) Qualitative methods in empirical studies of software engineering. IEEE Trans Softw Eng 25(4):557–572

    Article  Google Scholar 

  40. Seaman C, Guo Y (2011) Measuring and monitoring technical debt, advances in. Computers 82:2011

    Google Scholar 

  41. Strauss A, Corbin JM (1998) Basics of qualitative research: techniques and procedures for developing grounded theory. Sage Publications

  42. Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2012) Experimentation in software engineering: an introduction. Springer

  43. Yli-Huumo J, Maglyas A, Smolander K (2014) The sources and approaches to management of technical debt: a case study of two product lines in a middle-size finnish software company. In: PROFES 2014. LNCS, vol. 8892. Springer, Heidelberg, pp 93–107. https://doi.org/10.1007/978-3-319-13835-0_7

    Google Scholar 

  44. Yli-Huumo J, Maglyas A, Smolander K (2015) The benefits and consequences of workarounds in software development projects. In: Fernandes JM, Machado RJ, Wnuk K (eds) ICSOB. LNBIP, vol. 210. Springer, Heidelberg, pp 1–16

    Google Scholar 

  45. Yli-Huumo J, Maglyas A, Smolander K (2016) How do software development teams manage technical debt? - an empirical study. J Syst Softw 120(C):195–218

    Article  Google Scholar 

Download references

Acknowledgements

This work was partially supported by the Coordination for the Improvement of Higher Education Personnel - Brazil (Capes), under the Capes/IIASA Sandwich Doctoral Program, process n° 88881.189667 / 2018-01. This research was also supported in part by funds received from the David A. Wilson Award for Excellence in Teaching and Learning, which was created by the Laureate International Universities network to support research focused on teaching and learning. For more information on the award or Laureate, please visit www.laureate.net.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Nicolli Rios.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

Table 16 Identified causes X TD Types
Table 17 Identified effects X TD Types
Table 18 Comparison to related work on TD causes
Table 19 Comparison to related work on effects of TD

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Rios, N., Spínola, R.O., Mendonça, M. et al. The practitioners’ point of view on the concept of technical debt and its causes and consequences: a design for a global family of industrial surveys and its first results from Brazil. Empir Software Eng 25, 3216–3287 (2020). https://doi.org/10.1007/s10664-020-09832-9

Download citation

Keywords

  • Technical debt
  • Technical debt causes
  • Technical debt effects
  • Survey
  • Family of surveys
  • InsighTD