Skip to main content

Technical Debt in Microservices: A Mixed-Method Case Study

  • Conference paper
  • First Online:
Software Architecture. ECSA 2023 Tracks, Workshops, and Doctoral Symposium (ECSA 2023)

Abstract

Background: Despite the rising interest of both academia and industry in microservice-based architectures and technical debt, the landscape remains uncharted when it comes to exploring the technical debt evolution in software systems built on this architecture. Aims: This study aims to unravel how technical debt evolves in software-intensive systems that utilize microservice architecture, focusing on (i) the patterns of its evolution, and (ii) the correlation between technical debt and the number of microservices. Method: We employ a mixed-method case study on an application with 13 microservices, 977 commits, and 38k lines of code. Our approach combines repository mining, automated code analysis, and manual inspection. The findings are discussed with the lead developer in a semi-structured interview, followed by a reflexive thematic analysis. Results: Despite periods of no TD growth, TD generally increases over time. TD variations can occur irrespective of microservice count or commit activity. TD and microservice numbers are often correlated. Adding or removing a microservice impacts TD similarly, regardless of existing microservice count. Conclusions: Developers must be cautious about the potential technical debt they might introduce, irrespective of the development activity conducted or the number of microservices involved. Maintaining steady technical debt during prolonged periods of time is possible, but growth, particularly during innovative phases, may be unavoidable. While monitoring technical debt is the key to start managing it, technical debt code analysis tools must be used wisely, as their output always necessitates also a qualitative system understanding to gain the complete picture.

R. Verdecchia and K. Maggi—The first two authors contributed equally to this work.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    http://geoserver.org/geoserver-cloud. Accessed 4th July 2023.

  2. 2.

    https://github.com/geoserver/geoserver-cloud. Accessed 4th July 2023.

  3. 3.

    https://maven.apache.org. Accessed 4th July 2023.

  4. 4.

    https://stat.ethz.ch/R-manual/R-devel/library/stats/html/stl.html. Accessed 4th July 2023.

  5. 5.

    For completeness, the slide deck used, including the structured questions asked during the interview, is made available in the replication package of this study (see Sect. 5.4).

  6. 6.

    https://junit.org/junit5/. Accessed 5th July 2023.

  7. 7.

    Replication package of this study: https://github.com/STLab-UniFI/QUALIFIER-2023-TD-microservices-rep-pkg. Accessed 6th July 2023.

References

  1. Akaike, H.: Information theory and an extension of the maximum likelihood principle. In: Parzen, E., Tanabe, K., Kitagawa, G. (eds.) Selected Papers of Hirotugu Akaike, pp. 199–213. Springer, Cham (1998). https://doi.org/10.1007/978-1-4612-1694-0_15

  2. Aldrich Edbert, J., Jannat Oishwee, S., Karmakar, S., Codabux, Z., Verdecchia, R.: Exploring technical debt in security questions on stack overflow. In: International Symposium on Empirical Software Engineering and Measurement (2023)

    Google Scholar 

  3. Alves, N.S., Mendes, T.S., De Mendonça, M.G., Spínola, R.O., Shull, F., Seaman, C.: Identification and management of technical debt: a systematic mapping study. Inf. Softw. Technol. 70, 100–121 (2016)

    Article  Google Scholar 

  4. Atchison, A., Berardi, C., Best, N., Stevens, E., Linstead, E.: A time series analysis of travistorrent builds: to everything there is a season. In: 2017 IEEE/ACM 14th International Conference on Mining Software Repositories, pp. 463–466. IEEE (2017)

    Google Scholar 

  5. Avgeriou, P., Kruchten, P., Ozkaya, I., Seaman, C.: Managing technical debt in software engineering (dagstuhl seminar 16162). Dagstuhl Reports 6 (2016)

    Google Scholar 

  6. Avgeriou, P.C., et al.: An overview and comparison of technical debt measurement tools. IEEE Softw. 38(3), 61–71 (2020)

    Article  Google Scholar 

  7. Baresi, L., Quattrocchi, G., Tamburri, D.A.: Microservice architecture practices and experience: a focused look on docker configuration files. arXiv preprint: 2212.03107 (2022)

    Google Scholar 

  8. Basili, V.R., Caldiera, G., Rombach, D.: The goal question metric approach. In: Encyclopedia of Software Engineering, pp. 528–532. Wiley (1994)

    Google Scholar 

  9. Bogner, J., Fritzsch, J., Wagner, S., Zimmermann, A.: Limiting technical debt with maintainability assurance: an industry survey on used techniques and differences with service-and microservice-based systems. In: Proceedings of the 2018 International Conference on Technical Debt, pp. 125–133 (2018)

    Google Scholar 

  10. Bogner, J., Fritzsch, J., Wagner, S., Zimmermann, A.: Assuring the evolvability of microservices: insights into industry practices and challenges. In: 2019 IEEE International Conference on Software Maintenance and Evolution, pp. 546–556. IEEE (2019)

    Google Scholar 

  11. Bogner, J., Fritzsch, J., Wagner, S., Zimmermann, A.: Microservices in industry: insights into technologies, characteristics, and software quality. In: 2019 IEEE International Conference on Software Architecture Companion, pp. 187–195. IEEE (2019)

    Google Scholar 

  12. Bogner, J., Wagner, S., Zimmermann, A.: Automatically measuring the maintainability of service-and microservice-based systems: a literature review. In: Proceedings of the 27th International Workshop on Software Measurement and 12th International Conference on Software Process and Product Measurement, pp. 107–115 (2017)

    Google Scholar 

  13. Brinkmann, S.: Qualitative interviewing. Understanding Qualitative Rese (2013)

    Google Scholar 

  14. Cheung, Y.W., Lai, K.S.: Lag order and critical values of the augmented dickey-fuller test. J. Bus. Econ. Stat. 13(3), 277–280 (1995)

    Google Scholar 

  15. Cleveland, R.B., Cleveland, W.S., McRae, J.E., Terpenning, I.: STL: a seasonal-trend decomposition. J. Off. Stat. 6(1), 3–73 (1990)

    Google Scholar 

  16. De Toledo, S.S., Martini, A., Przybyszewska, A., Sjøberg, D.I.: Architectural technical debt in microservices: a case study in a large company. In: 2019 IEEE/ACM International Conference on Technical Debt, pp. 78–87. IEEE (2019)

    Google Scholar 

  17. Di Francesco, P., Lago, P., Malavolta, I.: Architecting with microservices: a systematic mapping study. J. Syst. Softw. 150, 77–97 (2019)

    Article  Google Scholar 

  18. Dickey, D.A., Fuller, W.A.: Distribution of the estimators for autoregressive time series with a unit root. J. Am. Stat. Assoc. 74(366a), 427–431 (1979)

    Article  MathSciNet  Google Scholar 

  19. d’Aragona, D.A., Pecorelli, F., Baldassarre, M.T., Taibi, D., Lenarduzzi, V.: Technical debt diffuseness in the apache ecosystem: a differentiated replication. In: 2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 825–833. IEEE (2023)

    Google Scholar 

  20. Fontana, F.A., Pigazzini, I., Roveda, R., Tamburri, D., Zanoni, M., Di Nitto, E.: ARCAN: a tool for architectural smells detection. In: 2017 IEEE International Conference on Software Architecture Workshops, pp. 282–285. IEEE (2017)

    Google Scholar 

  21. Granger, C.W.: Investigating causal relations by econometric models and cross-spectral methods. Econ. J. Econ. Soc. 424–438 (1969)

    Google Scholar 

  22. Kallio, H., Pietilä, A.M., Johnson, M., Kangasniemi, M.: Systematic methodological review: developing a framework for a qualitative semi-structured interview guide. J. Adv. Nurs. 72(12), 2954–2965 (2016)

    Article  Google Scholar 

  23. Kovalenko, V., Palomba, F., Bacchelli, A.: Mining file histories: should we consider branches? In: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, pp. 202–213 (2018)

    Google Scholar 

  24. Kozanidis, N., Verdecchia, R., Guzmán, E.: Asking about technical debt: characteristics and automatic identification of technical debt questions on stack overflow. In: Proceedings of the 16th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, pp. 45–56 (2022)

    Google Scholar 

  25. Lenarduzzi, V., Lomio, F., Saarimäki, N., Taibi, D.: Does migrating a monolithic system to microservices decrease the technical debt? J. Syst. Softw. 169, 110710 (2020)

    Article  Google Scholar 

  26. Letouzey, J.L.: The SQALE method for evaluating technical debt. In: 2012 Third International Workshop on Managing Technical Debt., pp. 31–36. IEEE (2012)

    Google Scholar 

  27. Li, Z., Avgeriou, P., Liang, P.: A systematic mapping study on technical debt and its management. J. Syst. Softw. 101, 193–220 (2015)

    Article  Google Scholar 

  28. Malavolta, I., Verdecchia, R., Filipovic, B., Bruntink, M., Lago, P.: How maintainability issues of android apps evolve. In: 2018 IEEE International Conference on Software Maintenance and Evolution, pp. 334–344. IEEE (2018)

    Google Scholar 

  29. Oliver, D.G., Serovich, J.M., Mason, T.L.: Constraints and opportunities with interview transcription: towards reflection in qualitative research. Soc. Forces 84(2), 1273–1289 (2005)

    Article  Google Scholar 

  30. Ospina, S., Verdecchia, R., Malavolta, I., Lago, P.: ATDx: a tool for providing a data-driven overview of architectural technical debt in software-intensive systems. In: European Conference on Software Architecture (2021)

    Google Scholar 

  31. Pigazzini, I., Fontana, F.A., Lenarduzzi, V., Taibi, D.: Towards microservice smells detection. In: International Conference on Technical Debt., Seoul, Republic of Korea, p. 6. ACM (2020). https://doi.org/10.1145/3387906.3388625

  32. Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng. 14, 131–164 (2009)

    Article  Google Scholar 

  33. Saldaña, J.: The Coding Manual for Qualitative Researchers. Sage (2021)

    Google Scholar 

  34. Soldani, J., Tamburri, D.A., Van Den Heuvel, W.J.: The pains and gains of microservices: a systematic grey literature review. J. Syst. Softw. 146, 215–232 (2018)

    Article  Google Scholar 

  35. de Toledo, S.S., Martini, A., Sjøberg, D.I.: Identifying architectural technical debt, principal, and interest in microservices: a multiple-case study. J. Syst. Softw. 177, 110968 (2021)

    Article  Google Scholar 

  36. Vaismoradi, M., Turunen, H., Bondas, T.: Content analysis and thematic analysis: implications for conducting a qualitative descriptive study. Nurs. Health Sci. 15(3), 398–405 (2013)

    Article  Google Scholar 

  37. Verdecchia, R.: Architectural technical debt identification: moving forward. In: 2018 IEEE International Conference on Software Architecture Companion (ICSA-C), pp. 43–44 (2018). https://doi.org/10.1109/ICSA-C.2018.00018

  38. Verdecchia, R., Engström, E., Lago, P., Runeson, P., Song, Q.: Threats to validity in software engineering research: a critical reflection. Inf. Softw. Technol. 164, 107329 (2023)

    Article  Google Scholar 

  39. Verdecchia, R., Kruchten, P., Lago, P., Malavolta, I.: Building and evaluating a theory of architectural technical debt in software-intensive systems. J. Syst. Softw. 176, 110925 (2021)

    Article  Google Scholar 

  40. Verdecchia, R., Maggi, K., Scommegna, L., Vicario, E.: Tracing the footsteps of technical debt in microservices: a preliminary case study. In: International Workshop on Quality in Software Architecture (2023)

    Google Scholar 

  41. Verdecchia, R., Malavolta, I., Lago, P.: Architectural technical debt identification: the research landscape. In: Proceedings of the 2018 International Conference on Technical Debt, pp. 11–20 (2018)

    Google Scholar 

  42. Verdecchia, R., Malavolta, I., Lago, P., Ozkaya, I.: Empirical evaluation of an architectural technical debt index in the context of the apache and Onap ecosystems. PeerJ Comput. Sci. 8, e833 (2022)

    Article  Google Scholar 

  43. Villa, A., Ocharan-Hernandez, J.O., Perez-Arriaga, J.C., Limon, X.: A systematic mapping study on technical debt in microservices. In: 2022 10th International Conference in Software Engineering Research and Innovation. IEEE (2022)

    Google Scholar 

Download references

Acknowledgments

We would like to express our uttermost gratitude to Gabriel Roldan, leading developer of Cloud Native Geoserver, for his availability, insightful feedback, and genuine interest in the research project.

Roberto Verdecchia would like to thank Curzio Checcucci for his lighthearted yet insightful feedback on the data analysis process.

This work was partially supported by the European Union under the Italian National Recovery and Resilience Plan (NRRP) of NextGenerationEU, partnership on “Telecommunications of the Future” (PE0000001 - program “RESTART”).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Roberto Verdecchia .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Verdecchia, R., Maggi, K., Scommegna, L., Vicario, E. (2024). Technical Debt in Microservices: A Mixed-Method Case Study. In: TekinerdoÄźan, B., Spalazzese, R., Sözer, H., Bonfanti, S., Weyns, D. (eds) Software Architecture. ECSA 2023 Tracks, Workshops, and Doctoral Symposium. ECSA 2023. Lecture Notes in Computer Science, vol 14590. Springer, Cham. https://doi.org/10.1007/978-3-031-66326-0_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-66326-0_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-66325-3

  • Online ISBN: 978-3-031-66326-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics