Skip to main content
Log in

What is asked about technical debt (TD) on Stack Exchange question-and-answer (Q&A) websites? An observational study

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

Technical debt (TD) is a term coined by agile software pioneer Ward Cunningham to account for the added software system effort or cost resulting from taking early software project shortcuts. Previous research on TD has extensively outlined and discussed the various consequences derived from accumulating TD and the difficulty in managing it. A review of the software engineering literature revealed that Stack Exchange question-and-answer (Q&A) websites can provide valuable, real world perspectives on a number of software engineering topics. Therefore, this study aims to observe how the TD term is utilized on Stack Exchange Q&A websites. Specifically, this study utilizes a dataset derived from three Stack Exchange Q&A websites, which are Stack Overflow (SO), Software Engineering (SE), and Project Management (PM), to retrieve and analyze 578 TD-related questions. The results unveiled that TD-related questions can be categorized into 14 different categories, a total of 636 unique tags are utilized in the acquired set of TD-related questions, and a few TD-related categories both lack accepted answers and have a longer median time to receive an accepted answer than other categories. This study’s findings highlight the TD-related challenges that are addressed by Stack Exchange Q&A website users, which may prove beneficial in steering future TD-related efforts.

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.

Fig. 1
Fig. 2
Algorithm 1
Fig. 3
Fig. 4

Similar content being viewed by others

Data Availability

The datasets generated during and/or analysed during the current study are available in the Open Science Foundation (OSF), https://t.ly/_Fqi

Notes

  1. https://stripe.com/files/reports/the-developer-coefficient.pdf

  2. https://insights.stackoverflow.com/survey/2016/

  3. stackexchange.com

  4. stackoverflow.com

  5. softwareengineering.stackexchange.com

  6. pm.stackexchange.com

  7. https://data.stackexchange.com/

  8. https://archive.org/details/stackexchange

  9. www.castsoftware.com/

  10. https://www.kiuwan.com/

References

  • Abdellatif A, Costa D, Badran K, Abdalkareem R, Shihab E (2020) Challenges in chatbot development: A study of stack overflow posts. In: Proceedings of the 17th international conference on mining software repositories, MSR ’20. https://doi.org/10.1145/3379597.3387472. Association for Computing Machinery, New York, pp 174–185

  • Abdi H (2007) The kendall rank correlation coefficient. Encycl Meas Stat 2:508–510

    Google Scholar 

  • Ahmed I, Brindescu C, Mannan UA, Jensen C, Sarma A (2017) An empirical examination of the relationship between code smells and merge conflicts. In: 2017 ACM/IEEE international symposium on empirical software engineering and measurement (ESEM). https://doi.org/10.1109/ESEM.2017.12, pp 58–67

  • Ahmed S, Bagherzadeh M (2018) What do concurrency developers ask about? A large-scale study using stack overflow. In: Proceedings of the 12th ACM/IEEE international symposium on empirical software engineering and measurement, ESEM ’18. https://doi.org/10.1145/3239235.3239524. Association for Computing Machinery, New York

  • Allman E (2012) Managing technical debt. Commun ACM 55 (5):50–55. https://doi.org/10.1145/2160718.2160733

    Article  Google Scholar 

  • Alves NS, Mendes TS, de Mendonça MG, Spínola RO, Shull F, 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 

  • Ampatzoglou A, Ampatzoglou A, Chatzigeorgiou A, Avgeriou P (2015) The financial aspect of managing technical debt. Inf Softw Technol 64 (C):52–73. https://doi.org/10.1016/j.infsof.2015.04.001

    Article  Google Scholar 

  • Avgeriou P, Kruchten P, Ozkaya I, Seaman C (2016) Managing technical debt in software engineering (Dagstuhl Seminar 16162). Dagstuhl Rep 6 (4):110–138. https://doi.org/10.4230/DagRep.6.4.110

    Article  Google Scholar 

  • Avgeriou PC, Taibi D, Ampatzoglou A, Arcelli Fontana F, Besker T, Chatzigeorgiou A, Lenarduzzi V, Martini A, Moschou A, Pigazzini I, Saarimaki N, Sas DD, de Toledo SS, Tsintzira AA (2021) An overview and comparison of technical debt measurement tools. IEEE Softw 38(3):61–71. https://doi.org/10.1109/MS.2020.3024958

    Article  Google Scholar 

  • Bajaj K, Pattabiraman K, Mesbah A (2014) Mining questions asked by web developers. In: Proceedings of the 11th working conference on mining software repositories, MSR 2014. Association for Computing Machinery, New York, pp 112–121, DOI https://doi.org/10.1145/2597073.2597083, (to appear in print)

  • Baltes S, Dumani L, Treude C, Diehl S (2018) Sotorrent: Reconstructing and analyzing the evolution of stack overflow posts. In: Proceedings of the 15th international conference on mining software repositories, MSR ’18. https://doi.org/10.1145/3196398.3196430. Association for Computing Machinery, New York, pp 319–330

  • Barua A, Thomas SW, Hassan AE (2014) What are developers talking about? An analysis of topics and trends in stack overflow. Empir Softw Engg 19 (3):619–654. https://doi.org/10.1007/s10664-012-9231-y

    Article  Google Scholar 

  • Behutiye WN, Rodríguez P, Oivo M, Tosun A (2017) Analyzing the concept of technical debt in the context of agile software development: A systematic literature review. Inf Softw Technol 82:139–158. https://doi.org/10.1016/j.infsof.2016.10.004

    Article  Google Scholar 

  • Biffl S, Aurum A, Boehm B, Erdogmus H, Grünbacher P (2006) Value-based software engineering. Springer Science & Business Media, Berlin

    Book  Google Scholar 

  • Codabux Z, Williams B (2013) Managing technical debt: An industrial case study. In: 2013 4th International workshop on managing technical debt (MTD). https://doi.org/10.1109/MTD.2013.6608672, pp 8–15

  • Cruzes DS, Dyba T (2011) Recommended steps for thematic synthesis in software engineering. In: 2011 international symposium on empirical software engineering and measurement. https://doi.org/10.1109/ESEM.2011.36, pp 275–284

  • Cunningham W (1992) The WyCash portfolio management system. SIGPLAN OOPS Mess 4(2):29–30. https://doi.org/10.1145/157710.157715

    Article  Google Scholar 

  • Curtis B, Sappidi J, Szynkarski A (2012) Estimating the principal of an application’s technical debt. IEEE Softw 29(6):34–42. https://doi.org/10.1109/MS.2012.156

    Article  Google Scholar 

  • Erdogmus H (1999) Comparative evaluation of software development strategies based on net present value. In: International workshop on economics-driven software engineering research EDSER, p 1

  • Fernández-Sánchez C, Garbajosa J, Yagüe A, Perez J (2017) Identification and analysis of the elements required to manage technical debt by means of a systematic mapping study. J Syst Softw 124(C):22–38. https://doi.org/10.1016/j.jss.2016.10.018

    Article  Google Scholar 

  • Fowler M (2018) Refactoring: improving the design of existing code. Addison-Wesley Professional, Reading

    MATH  Google Scholar 

  • Fukunaga K (2013) Introduction to statistical pattern recognition. Elsevier, New York

    MATH  Google Scholar 

  • Gama E, Paixao M, Freire ESS, Cortés MI (2019) Technical debt’s state of practice on stack overflow: A preliminary study. In: Proceedings of the XVIII Brazilian symposium on software quality, SBQS’19. https://doi.org/10.1145/3364641.3364668. Association for Computing Machinery, New York, pp 228–233

  • Gama E, Freire S, Mendonça M, Spínola RO, Paixao M, Cortés MI (2020) Using stack overflow to assess technical debt identification on software projects. In: Proceedings of the XXXIV Brazilian symposium on software engineering, SBES ’20. https://doi.org/10.1145/3422392.3422429. Association for Computing Machinery, New York, pp 730–739

  • Gisev N, Bell JS, Chen TF (2013) Interrater agreement and interrater reliability: Key concepts, approaches, and applications. Res Soc Adm Pharm 9 (3):330–338. https://doi.org/10.1016/j.sapharm.2012.04.004

    Article  Google Scholar 

  • Guo Y, Seaman C (2011) A portfolio approach to technical debt management. In: Proceedings of the 2nd workshop on managing technical debt, MTD ’11. https://doi.org/10.1145/1985362.1985370. Association for Computing Machinery, New York, pp 31–34

  • Guo Y, Seaman C, Gomes R, Cavalcanti A, Tonin G, Da Silva FQB, Santos ALM, Siebra C (2011) Tracking technical debt — an exploratory case study. In: 2011 27th IEEE international conference on software maintenance (ICSM). https://doi.org/10.1109/ICSM.2011.6080824, pp 528–531

  • Guo Y, Spínola RO, Seaman C (2016) Exploring the costs of technical debt management — a case study. Empirical Softw Engg 21(1):159–182. https://doi.org/10.1007/s10664-014-9351-7

    Article  Google Scholar 

  • Han J, Shihab E, Wan Z, Deng S, Xia X (2020) What do programmers discuss about deep learning frameworks. Empir Softw Eng 25(4):2694–2747. https://doi.org/10.1007/s10664-020-09819-6

    Article  Google Scholar 

  • Haque MU, Iwaya LH, Babar MA (2020) Challenges in docker development: A large-scale study using stack overflow. In: Proceedings of the 14th ACM / IEEE international symposium on empirical software engineering and measurement (ESEM), ESEM ’20. https://doi.org/10.1145/3382494.3410693. Association for Computing Machinery, New York

  • Izurieta C, Vetrò A, Zazworka N, Cai Y, Seaman C, Shull F (2012) Organizing the technical debt landscape. In: 2012 3rd international workshop on managing technical debt (MTD). https://doi.org/10.1109/MTD.2012.6225995, pp 23–26

  • Kitchenham BA, Budgen D, Brereton P (2015) Evidence-based software engineering and systematic reviews, vol 4. CRC Press, Boca Raton

    Book  Google Scholar 

  • Kruchten P, Nord RL, Ozkaya I (2012) Technical debt: From metaphor to theory and practice. IEEE Softw 29(6):18–21. https://doi.org/10.1109/MS.2012.167

    Article  Google Scholar 

  • Landis JR, Koch GG (1977) The measurement of observer agreement for categorical data. Biometrics, 159–174

  • Lenarduzzi V, Orava T, Saarimäki N, Systa K, Taibi D (2019) An empirical study on technical debt in a finnish SME. In: 2019 ACM/IEEE international symposium on empirical software engineering and measurement (ESEM). https://doi.org/10.1109/ESEM.2019.8870169, pp 1–6

  • Li Z, Avgeriou P, Liang P (2015) A systematic mapping study on technical debt and its management. J Syst Softw 101(C):193–220. https://doi.org/10.1016/j.jss.2014.12.027

    Article  Google Scholar 

  • M Bomfim M, A Santos V (2017) Strategies for reducing technical debt in agile teams. In: Silva da Silva T, Estácio B, Kroll J, Mantovani Fontana R (eds) Agile methods. Springer International Publishing, Cham, pp 60–71

  • Malhotra R (2016) Empirical research in software engineering: concepts, analysis, and applications. CRC Press, Boca Raton

    Book  Google Scholar 

  • Martini A, Bosch J, Chaudron M (2014) Architecture technical debt: Understanding causes and a qualitative model. In: 2014 40th EUROMICRO conference on software engineering and advanced applications. https://doi.org/10.1109/SEAA.2014.65, pp 85–92

  • de Mello RM, Oliveira R, Garcia A (2017) On the influence of human factors for identifying code smells: A multi-trial empirical study. In: 2017 ACM/IEEE international symposium on empirical software engineering and measurement (ESEM). https://doi.org/10.1109/ESEM.2017.13, pp 68–77

  • Morgenthaler JD, Gridnev M, Sauciuc R, Bhansali S (2012) Searching for build debt: Experiences managing technical debt at Google. In: Proceedings of the 3rd international workshop on managing technical debt, MTD ’12. IEEE Press, pp 1–6

  • Nord RL, Ozkaya I, Kruchten P, Gonzalez-Rojas M (2012) In search of a metric for managing architectural technical debt. In: 2012 Joint working IEEE/IFIP conference on software architecture and european conference on software architecture. https://doi.org/10.1109/WICSA-ECSA.212.17, pp 91–100

  • Parnas DL (1994) Software aging. In: Proceedings of the 16th international conference on software engineering, ICSE ’94. IEEE Computer Society Press, Washington, pp 279–287

  • Puth MT, Neuhäuser M, Ruxton GD (2015) Effective use of Spearman’s and Kendall’s correlation coefficients for association between two measured traits. Anim Behav 102:77–84. https://doi.org/10.1016/j.anbehav.2015.01.010

    Article  Google Scholar 

  • Ralph P, Ali Nb, Baltes S, Bianculli D, Diaz J, Dittrich Y, Ernst N, Felderer M, Feldt R, Filieri A et al (2020) Empirical standards for software engineering research. arXiv:201003525

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

    Article  Google Scholar 

  • Rios N, Spínola RO, Mendonça M, Seaman C (2020) 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. Empirical Softw Engg 25(5):3216–3287. https://doi.org/10.1007/s10664-020-09832-9

    Article  Google Scholar 

  • Rosen C, Shihab E (2016) What are mobile developers asking about? a large scale study using stack overflow. Empir Softw Engg 21(3):1192–1223. https://doi.org/10.1007/s10664-015-9379-3

    Article  Google Scholar 

  • Rubin K (2012) Essential scrum: A practical guide to the most popular agile process (Addison-Wesley Signature Series (Cohn)). Addison-Wesley Professional, Reading

    Google Scholar 

  • Runeson P, Host M, Rainer A, Regnell B (2012) Case study research in software engineering: Guidelines and examples. Wiley, New York

    Book  Google Scholar 

  • Schober P, Boer C, Schwarte LA (2018) Correlation coefficients: appropriate use and interpretation. Anesth Analg 126(5):1763–1768. https://doi.org/10.1213/ANE.0000000000002864

    Article  Google Scholar 

  • Silva CC, Galster M, Gilson F (2021) Topic modeling in software engineering research. Empir Softw Engg 26(6). https://doi.org/10.1007/s10664-021-10026-0

  • Spínola RO, Vetrò A, Zazworka N, Seaman C, Shull F (2013) Investigating technical debt folklore: Shedding some light on technical debt opinion. In: 2013 4th international workshop on managing technical debt (MTD). https://doi.org/10.1109/MTD.2013.6608671, pp 1–7

  • Sterling C (2010) Managing software debt: Building for inevitable change. Addison-Wesley Professional, Reading

    Google Scholar 

  • Suryanarayana G, Samarthyam G, Sharma T (2014) Refactoring for software design smells: managing technical debt. Morgan Kaufmann, San Mateo

    Google Scholar 

  • Tom E, Aurum A, Vidgen R (2013) An exploration of technical debt. J Syst Softw 86(6):1498–1516. https://doi.org/10.1016/j.jss.2012.12.052

    Article  Google Scholar 

  • Yang XL, Lo D, Xia X, Wan ZY, Sun JL (2016) What security questions do developers ask? a large-scale study of stack overflow posts. J Comput Sci Technol 31(5):910–924. https://doi.org/10.1007/s11390-016-1672-0

    Article  Google Scholar 

  • Yin RK (2009) Case study research: Design and methods, vol 5. Sage, Newbury Park

    Google Scholar 

  • Zazworka N, Seaman C, Shull F (2011a) Prioritizing design debt investment opportunities. In: Proceedings of the 2nd workshop on managing technical debt, MTD ’11. https://doi.org/10.1145/1985362.1985372. Association for Computing Machinery, New York, pp 39–42

  • Zazworka N, Shaw MA, Shull F, Seaman C (2011b) Investigating the impact of design debt on software quality. In: Proceedings of the 2nd workshop on managing technical debt, MTD ’11. https://doi.org/10.1145/1985362.1985366. Association for Computing Machinery, New York, pp 17–23

  • Zou J, Xu L, Yang M, Zhang X, Yang D (2017) Towards comprehending the non-functional requirements through developers eyes. Inf Softw Technol 84(C):19–32. https://doi.org/10.1016/j.infsof.2016.12.003

    Article  Google Scholar 

Download references

Acknowledgements

This research project was supported by a grant from the “Research Center of College of Computer and Information Sciences, Deanship of Scientific Research, King Saud University”.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Reem Alfayez.

Ethics declarations

Conflict of Interests

The authors declare no potential conflicts of interest.

Additional information

Communicated by: Marco Torchiano

Publisher’s note

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

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Alfayez, R., Ding, Y., Winn, R. et al. What is asked about technical debt (TD) on Stack Exchange question-and-answer (Q&A) websites? An observational study. Empir Software Eng 28, 35 (2023). https://doi.org/10.1007/s10664-022-10269-5

Download citation

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10664-022-10269-5

Keywords

Navigation