skip to main content
10.1145/3387906.3388630acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

A systematic literature review of technical debt prioritization

Published: 25 September 2020 Publication History

Abstract

Repaying all technical debt (TD) present in a system may be unfeasible, as there is typically a shortage in the resources allocated for TD repayment. Therefore, TD prioritization is essential to best allocate such resources to determine which TD items are to be repaid first and which items are to be delayed until later releases. This study conducts a systematic literature review (SLR) to identify and analyze the currently researched TD prioritization approaches. The employed search strategy strove to achieve high completeness through the identification of a quasi-gold standard set, which was used to establish a search string to automatically retrieve papers from select research databases. The application of selection criteria, along with forward and backward snowballing, identified 24 TD prioritization approaches. The analysis of the identified approaches revealed a scarcity of approaches that account for cost, value, and resources constraint and a lack of industry evaluation. Furthermore, this SLR unveils potential gaps in the current TD prioritization research, which future research may explore.

References

[1]
2016. Developer Survey Results 2016. Retrieved December 27, 2018 from https://insights.stackoverflow.com/survey/2016/
[2]
2018. The Developer Coefficient Software engineering efficiency and its $3 trillion impact on global GDP. Retrieved December 27, 2018 from https://stripe.com/files/reports/the-developer-coefficient.pdf
[3]
2020. Summary of Technical Debt Prioritization Approaches. Retrieved March 10, 2020 from https://drive.google.eom/file/d/11XRpmkxbKaOyiwGrfm1UAWF0sqJJyn41/view?usp=sharing
[4]
Zahra Shakeri Hossein Abad and Guenther Ruhe. 2015. Using real options to manage technical debt in requirements engineering. In 2015 IEEE 23rd International Requirements Engineering Conference (RE). IEEE.
[5]
Philip Achimugu, Ali Selamat, Roliana Ibrahim, and Mohd Naz'ri Mahrin. 2014. A systematic literature review of software requirements prioritization research. Information and software technology (2014).
[6]
Shirin Akbarinasaji. 2015. Toward measuring defect debt and developing a recommender system for their prioritization. In Proceedings of the 13th International Doctoral Symposium on Empirical Software Engineering. 15--20.
[7]
Mashel Albarak and Rami Bahsoon. 2018. Prioritizing technical debt in database normalization using portfolio theory and data quality metrics. In Proceedings of the 2018 International Conference on Technical Debt. ACM, 31--40.
[8]
Abdullah Aldaeej and Carolyn Seaman. 2018. From Lasagna to Spaghetti: A Decision Model to Manage Defect Debt. In 2018 IEEE/ACM International Conference on Technical Debt (TechDebt). IEEE, 67--71.
[9]
Nicolli SR Alves, Thiago S Mendes, Manoel G de Mendonça, Rodrigo O Spínola, Forrest Shull, and Carolyn Seaman. 2016. Identification and management of technical debt: A systematic mapping study. Information and Software Technology 70 (2016), 100--121.
[10]
Areti Ampatzoglou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, and Paris Avgeriou. 2015. The financial aspect of managing technical debt: A systematic literature review. Information and Software Technology (2015).
[11]
Christoph Becker, Ruzanna Chitchyan, Stefanie Betz, and Curtis McCord. 2018. Trade-off decisions across time in technical debt management: a systematic literature review. In Proceedings of the 2018 International Conference on Technical Debt. ACM, 85--94.
[12]
Woubshet Nema Behutiye, Pilar Rodríguez, Markku Oivo, and Ayşe Tosun. 2017. Analyzing the concept of technical debt in the context of agile software development: A systematic literature review. Information and Software Technology 82 (2017), 139--158.
[13]
Christian Bird, Tim Menzies, and Thomas Zimmermann. 2015. The art and science of analyzing software data. Elsevier.
[14]
Edward H Bowman and Gary T Moskowitz. 2001. Real options analysis and strategic decision making. Organization science (2001).
[15]
Aabha Choudhary and Paramvir Singh. 2016. Minimizing Refactoring Effort through Prioritization of Classes based on Historical, Architectural and Code Smell Information. In QuASoQ/TDA@ APSEC. 76--79.
[16]
Alan Clarke. 1999. Evaluation research: An introduction to principles, methods and practice. Sage.
[17]
Zadia Codabux and Byron J Williams. 2016. Technical debt prioritization using predictive analytics. In Proceedings of the 38th International Conference on Software Engineering Companion. ACM.
[18]
Daniela S Cruzes and Tore Dyba. 2011. Recommended steps for thematic synthesis in software engineering. In 2011 International Symposium on Empirical Software Engineering and Measurement. IEEE.
[19]
Ward Cunningham. 1993. The WyCash portfolio management system. ACM SIGPLAN OOPS Messenger 4, 2 (1993), 29--30.
[20]
Rodrigo Rebouças de Almeida, Uirá Kulesza, Christoph Treude, Aliandro Higino Guedes Lima, et al. 2018. Aligning Technical Debt Prioritization with Business Objectives: A Multiple-Case Study. In 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE.
[21]
Carlos Fernández-Sánchez, Juan Garbajosa, Agustín Yagüe, and Jennifer Perez. 2017. Identification and analysis of the elements required to manage technical debt by means of a systematic mapping study. Journal of Systems and Software 124 (2017), 22--38.
[22]
Francesca Arcelli Fontana, Vincenzo Ferme, Marco Zanoni, and Riccardo Roveda. [n.d.]. Towards a prioritization of code debt: A code smell intensity index. In 2015 IEEE 7th International Workshop on Managing Technical Debt. IEEE.
[23]
Everton Guimaraes, S Vidal, A Garcia, JA Diaz Pace, and Claudia Marcos. [n.d.]. Exploring architecture blueprints for prioritizing critical code anomalies: Experiences and tool support. Software: Practice and Experience ([n. d.]).
[24]
Yuepu Guo and Carolyn Seaman. 2011. A portfolio approach to technical debt management. In Proceedings of the 2nd Workshop on Managing Technical Debt.
[25]
Yuepu Guo, Rodrigo Oliveira Spínola, and Carolyn Seaman. 2016. Exploring the costs of technical debt management-a case study. Empirical Software Engineering 21, 1 (2016), 159--182.
[26]
Muhammad Firdaus Harun and Horst Lichter. 2015. Towards a technical debt-management framework based on cost-benefit analysis. In Proceedings of the 10 th International Conference on Software Engineering Advances.
[27]
Leslie Pack Kaelbling, Michael L Littman, and Andrew W Moore. 1996. Reinforcement learning: A survey. Journal of artificial intelligence research (1996).
[28]
Hans Kellerer, Ulrich Pferschy, and D. Pisinger. 2011. Knapsack problems. Springer.
[29]
Barbara Ann Kitchenham, David Budgen, and Pearl Brereton. 2015. Evidence-based software engineering and systematic reviews. CRC press.
[30]
Edouard Kujawski. 2003. Multi-Criteria Decision Analysis: Limitations, Pitfalls, and Practical Difficulties. In INCOSE International Symposium, Vol. 13. Wiley Online Library, 1169--1176.
[31]
Jean-Louis Letouzey. [n.d.]. The SQALE method for evaluating technical debt. In 2012 Third International Workshop on Managing Technical Debt. IEEE.
[32]
Jean-Louis Letouzey and Michel Ilkiewicz. 2012. Managing technical debt with the sqale method. IEEE software 29, 6 (2012), 44--51.
[33]
Zengyang Li, Paris Avgeriou, and Peng Liang. [n.d.]. A systematic mapping study on technical debt and its management. Journal of Systems and Software ([n. d.]).
[34]
Solomon Mensah, Jacky Keung, Jeffery Svajlenko, Kwabena Ebo Bennin, and Qing Mi. 2018. On the value of a prioritization scheme for resolving Self-admitted technical debt. Journal of Systems and Software 135 (2018), 37--54.
[35]
John L Moore. 1995. Cost-benefit analysis: Issues in its use in regulation. Congressional Research Service, Library of Congress.
[36]
David Lorge Parnas. 1994. Software aging. In Proceedings of the 16th international conference on Software engineering.
[37]
Reinhold Plösch, Johannes Bräuer, Matthias Saft, and Christian Körner. 2018. Design debt prioritization: a design best practice-based approach. In 2018 IEEE/ACM International Conference on Technical Debt (TechDebt). IEEE.
[38]
Muhammad Ramzan, M Arfan Jaffar, and Arshad Ali Shahid. 2011. Value based intelligent requirement prioritization (VIRP): expert driven fuzzy logic based prioritization technique. International Journal Of Innovative Computing, Information And Control 7, 3 (2011), 1017--1038.
[39]
Frank K Reilly and Keith C Brown. 2002. Investment analysis and portfolio management.
[40]
Leilane Ferreira Ribeiro, Nicolli Souza Rios Alves, Manoel Gomes de Mendonca Neto, and Rodrigo Oliveira Spínola. [n.d.]. A Strategy Based on Multiple Decision Criteria to Support Technical Debt Management. In 2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA). IEEE.
[41]
Leilane Ferreira Ribeiro, Mário André de Freitas Farias, Manoel G Mendonça, and Rodrigo Oliveira Spínola. 2016. Decision Criteria for the Payment of Technical Debt in Software Projects: A Systematic Mapping Study. In ICEIS (1).
[42]
Natthawute Sae-Lim, Shinpei Hayashi, and Motoshi Saeki. 2018. Context-based approach to prioritize code smells for prefactoring. Journal of Software: Evolution and Process 30, 6 (2018), e1886.
[43]
Klaus Schmid. 2013. A formal approach to technical debt decision making. In Proceedings of the 9th international ACM Sigsoft conference on Quality of software architectures. ACM, 153--162.
[44]
Carolyn Seaman, Yuepu Guo, Nico Zazworka, Forrest Shull, Clemente Izurieta, Yuanfang Cai, and Antonio Vetrò. 2012. Using technical debt data in decision making: Potential decision approaches. In 2012 Third International Workshop on Managing Technical Debt (MTD). IEEE, 45--48.
[45]
Will Snipes, Brian Robinson, Yuepu Guo, and Carolyn Seaman. 2012. Defining the decision factors for managing defects: a technical debt perspective. In 2012 Third International Workshop on Managing Technical Debt (MTD). IEEE, 54--60.
[46]
Paul P Tallon, Robert J Kauffman, Henry C Lucas, Andrew B Whinston, and Kevin Zhu. 2002. Using real options analysis for evaluating uncertain investments in information technology: Insights from the ICIS 2001 debate. Communications of the Association for Information Systems (2002).
[47]
Edith Tom, Aybuke Aurum, and Richard Vidgen. 2012. A consolidated understanding of technical debt. (2012).
[48]
Edith Tom, Aybuke Aurum, and Richard Vidgen. 2013. An exploration of technical debt. Journal of Systems and Software 86, 6 (2013), 1498--1516.
[49]
Adam Tornhill. 2018. Prioritize technical debt in large-scale systems using codescene. In Proceedings of the 2018 International Conference on Technical Debt.
[50]
Evangelos Triantaphyllou. 2000. Multi-criteria decision making methods: A comparative study. In Multi-criteria decision making methods: A comparative study. Springer, 5--21.
[51]
Valentina Lenarduzzia, Terese Beskerb, Davide Taibia, Antonio Martinic, Francesca Arcelli Fontana. [n.d.]. Technical Debt Prioritization: State of the Art. A Systematic Literature Review. https://arxiv.org/pdf/1904.12538.pdf.
[52]
Mark Velasquez and Patrick T Hester. [n.d.]. An analysis of multi-criteria decision making methods. International Journal of Operations Research ([n. d.]).
[53]
Santiago Vidal, Hernan Vazquez, J Andres Diaz-Pace, Claudia Marcos, Alessandro Garcia, and Willian Oizumi. 2015. JSpIRIT: a flexible tool for the analysis of code smells. In 2015 34th International Conference of the Chilean Computer Science Society (SCCC). IEEE, 1--6.
[54]
Claes Wohlin. 2014. Guidelines for snowballing in systematic literature studies and a replication in software engineering. In Proceedings of the 18th international conference on evaluation and assessment in software engineering. Citeseer, 38.
[55]
Claes Wohlin et al. 2005. Engineering and managing software requirements. Springer Science & Business Media.
[56]
Nico Zazworka, Carolyn Seaman, and Forrest Shull. 2011. Prioritizing design debt investment opportunities. In Proceedings of the 2nd Workshop on Managing Technical Debt. ACM, 39--42.
[57]
He Zhang, Muhammad Ali Babar, and Paolo Tell. 2011. Identifying relevant studies in software engineering. Information and Software Technology (2011).

Cited By

View all
  • (2024)A Systematic Mapping Study Exploring Quantification Approaches to Code, Design, and Architecture Technical DebtACM Transactions on Software Engineering and Methodology10.1145/367539333:7(1-44)Online publication date: 2-Jul-2024
  • (2024)Business-driven technical debt management using Continuous Debt Valuation Approach (CoDVA)Information and Software Technology10.1016/j.infsof.2023.107333164:COnline publication date: 10-Jan-2024
  • (2023)Exploring the Intersection between Software Maintenance and Machine Learning—A Systematic Mapping StudyApplied Sciences10.3390/app1303171013:3(1710)Online publication date: 29-Jan-2023
  • Show More Cited By

Index Terms

  1. A systematic literature review of technical debt prioritization

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    TechDebt '20: Proceedings of the 3rd International Conference on Technical Debt
    June 2020
    131 pages
    ISBN:9781450379601
    DOI:10.1145/3387906
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    In-Cooperation

    • IEEE CS

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 25 September 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. prioritization
    2. software
    3. software maintenance
    4. software management
    5. technical debt

    Qualifiers

    • Research-article

    Conference

    TechDebt '20
    Sponsor:
    TechDebt '20: International Conference on Technical Debt
    June 28 - 30, 2020
    Seoul, Republic of Korea

    Acceptance Rates

    TechDebt '20 Paper Acceptance Rate 14 of 31 submissions, 45%;
    Overall Acceptance Rate 14 of 31 submissions, 45%

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)135
    • Downloads (Last 6 weeks)10
    Reflects downloads up to 28 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)A Systematic Mapping Study Exploring Quantification Approaches to Code, Design, and Architecture Technical DebtACM Transactions on Software Engineering and Methodology10.1145/367539333:7(1-44)Online publication date: 2-Jul-2024
    • (2024)Business-driven technical debt management using Continuous Debt Valuation Approach (CoDVA)Information and Software Technology10.1016/j.infsof.2023.107333164:COnline publication date: 10-Jan-2024
    • (2023)Exploring the Intersection between Software Maintenance and Machine Learning—A Systematic Mapping StudyApplied Sciences10.3390/app1303171013:3(1710)Online publication date: 29-Jan-2023
    • (2023)Prioritizing tasks in software development: A systematic literature reviewPLOS ONE10.1371/journal.pone.028383818:4(e0283838)Online publication date: 6-Apr-2023
    • (2023)The Type to Take Out a Loan? A Study of Developer Personality and Technical Debt2023 ACM/IEEE International Conference on Technical Debt (TechDebt)10.1109/TechDebt59074.2023.00010(27-36)Online publication date: May-2023
    • (2023)How SonarQube-identified technical debt is prioritizedInformation and Software Technology10.1016/j.infsof.2023.107147156:COnline publication date: 1-Apr-2023
    • (2023)An Exploration of Technical Debt over the Lifetime of Open-Source SoftwareEvaluation of Novel Approaches to Software Engineering10.1007/978-3-031-36597-3_14(292-314)Online publication date: 8-Jul-2023
    • (2023)Code smell prioritization in object‐oriented software systemsJournal of Software: Evolution and Process10.1002/smr.253635:12Online publication date: 29-Jan-2023
    • (2022)Reproducibility in the technical debt domainActa Universitatis Sapientiae, Informatica10.2478/ausi-2021-001613:2(335-360)Online publication date: 2-Feb-2022
    • (2022)PriorTD: A Method for Prioritization Technical DebtProceedings of the XXXVI Brazilian Symposium on Software Engineering10.1145/3555228.3555238(230-240)Online publication date: 5-Oct-2022
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media