A Taste of the Software Industry Perception of Technical Debt and its Management in Brazil
DOI:
https://doi.org/10.5753/jserd.2019.19Keywords:
Technical debt, Survey, Experimental Software EngineeringAbstract
Technical debt (TD) is receiving more and more attention to software engineering. Although it was initially used as a communication tool for technical and non-technical stakeholders, nowadays this concept supports the improvement of the software’s internal quality. Despite the increasing number of studies regarding TD and its management, only a few are concerned with the industry. Therefore, this primary study aims to characterize TD and its management under the perspective of Brazilian software organizations using their practitioners as proxies. A survey was performed with 62 practitioners, representing around 12 organizations and 30 software projects. The analysis of 40 valid questionnaires indicates that TD is still unknown to a considerable fraction of the participants, and only a small group of organizations adopt TD management activities in their projects. The survey package is available and can be used to support further investigations on TD management in software organizations.
Downloads
References
Ampatzoglou A, Ampatzoglou A, Chatzigeorgiou A, et al. (2016) The Perception of Technical Debt in the Embedded Systems Domain: An Industrial Case Study. Proc - 2016 IEEE 8th Int Work Manag Tech Debt, MTD 2016 9–16. <a href="http://dx.doi.org/10.1109/MTD.2016.8">http://dx.doi.org/10.1109/MTD.2016.8</a>
Assuncao TR de, Rodrigues I, Venson E, et al. (2015) Technical Debt Management in the Brazilian Federal Administration. 2015 6th Brazilian Work Agil Methods 6–9. <a href="http://dx.doi.org/10.1109/WBMA.2015.11">http://dx.doi.org/10.1109/WBMA.2015.11</a>
Avgeriou P, Kruchten P, Ozkaya I, et al. (2016) Managing
Technical Debt in Software Engineering Edited by. Dagstuhl Reports 6:110–138. <a href="http://dx.doi.org/10.4230/DagRep.6.4.110">http://dx.doi.org/10.4230/DagRep.6.4.110</a>
Becker C, Chitchyan R, Betz S, McCord C (2018) Trade-off decisions across time in technical debt management. 85–94. <a href="http://dx.doi.org/10.1145/3194164.3194171">http://dx.doi.org/10.1145/3194164.3194171</a>
Boehm B (2008) Making a Software Century Brown N., Cai Y., Guo Y., et al. (2010) Managing technical debt in software-reliant systems. In: Proceedings of the FSE/SDP Workshop on the Future of Software Engineering Research, FoSER 2010. pp 47–51.
Cartaxo B, Pinto G, Vieira E, Soares S (2016) Evidence Briefings: Towards a Medium to Transfer Knowledge from Systematic Reviews to Practitioners. pp 1–10.
Cunningham W (1993) The WyCash portfolio management system. ACM SIGPLAN OOPS Messenger 4:29–30. <a href="http://dx.doi.org/10.1145/157710.157715">http://dx.doi.org/10.1145/157710.157715</a>
de França BBN, Jeronimo H, Travassos GH (2016) Characterizing DevOps by Hearing Multiple Voices. Proc 30th Brazilian Symp Softw Eng - SBES ’16 53–62. <a href="http://dx.doi.org/10.1145/2973839.2973845">http://dx.doi.org/10.1145/2973839.2973845</a>
Ernst NA., Bellomo S., Ozkaya I., et al. (2015) Measure it? Manage it? Ignore it? Software practitioners and technical debt. In: 2015 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2015 - Proceedings. pp 50–60.
Fowler M (2009) Technical Debt Quadrant. In: MartinFowler.com. https://martinfowler.com/bliki/TechnicalDebtQuadrant.html.
Guo Y., Spínola RO. c, Seaman C. (2016) Exploring the costs of technical debt management – a case study. Empir Softw Eng 21:159–182. <a href="http://dx.doi.org/10.1007/s10664-014-9351-7">http://dx.doi.org/10.1007/s10664-014-9351-7</a>
Holvitie J, Licorish S, Spinola R, et al. (2018) Technical Debt and Agile Software Development Practices and Processes: An Industry Practitioner Survey. Inf Softw Technol 96:141–160.
Klinger T, Tarr P, Wagstrom P, Williams C (2011) An enterprise perspective on technical debt. In: Proceedings - International Conference on Software Engineering. pp 35–38.
Ktata O, Lévesque G (2010) Designing and implementing a measurement program for scrum teams: What do agile developers really need and want? In: ACM International Conference Proceeding Series. pp 101–107
Li Z, Avgeriou P, Liang P (2015) A systematic mapping study on technical debt and its management. J Syst Softw 101:193–220. <a href="http://dx.doi.org/10.1016/j.jss.2014.12.027">http://dx.doi.org/10.1016/j.jss.2014.12.027</a>
Lim E., Taksande N., Seaman C. (2012) A balancing act: What software practitioners have to say about technical debt. IEEE Softw 29:22–27. <a href="http://dx.doi.org/10.1109/MS.2012.130">http://dx.doi.org/10.1109/MS.2012.130</a>
Linåker J, Sulaman S, Maiani R, Höst M (2015) Guidelines for Conducting Surveys in Software Engineering Engineering McConnell S (2007) Technical Debt - 10x Software Development.
Oliveira F., Goldman A., Santos V. (2015) Managing Technical Debt in Software Projects Using Scrum: An Action Research. In: Proceedings - 2015 Agile Conference, Agile 2015. pp 50–59
Prikladnicki R, Audy JLN, Damian D, De Oliveira TC (2007) Distributed software development: Practices and challenges in different business strategies of offshoring and onshoring. Proc - Int Conf Glob Softw Eng ICGSE 2007 262–274. <a href="http://dx.doi.org/10.1109/ICGSE.2007.19">http://dx.doi.org/10.1109/ICGSE.2007.19</a>
Ribeiro LF. b, De Farias MAF. d, Mendonça M., Spínola RO. e (2016) Decision criteria for the payment of technical debt in software projects: A systematic mapping study. In: ICEIS 2016 - Proceedings of the 18th International Conference on Enterprise Information Systems. pp 572–579.
Rocha JC, Zapalowski V, Nunes I (2017) Understanding Technical Debt at the Code Level from the Perspective of Software Developers. Proc 31st Brazilian Symp Softw Eng - SBES’17 64–73. <a href="http://dx.doi.org/10.1145/3131151.3131164">http://dx.doi.org/10.1145/3131151.3131164</a>
Seaman C., Guo Y. (2011) Measuring and Monitoring Technical Debt. Adv Comput 82:25–46. <a href="http://dx.doi.org/10.1016/B978-0-12-385512-1.00002-5">http://dx.doi.org/10.1016/B978-0-12-385512-1.00002-5</a>
Santos PSM, Varella A, Dantas C (2013) Visualizing and Managing Technical Debt in Agile Development: An Experience Report.
Silva VM, Junior HJ, Travassos GH (2018a) Technical Debt Management in Brazilian Software Organizations: A Need, an Expectation, or a Fact? In: Brazilian Symposium on Software Quality (SBQS). Curitiba
Silva VM, Junior HJ, Travassos GH (2018b) A taste of the software industry perception of technical debt and its management in Brazil. Av en Ing Softw a Niv Iberoam CIbSE 2018 1–14.
Spínola RO., Vetrò A., Zazworka N., et al. (2013) Investigating technical debt folklore: Shedding some light on technical debt opinion. In: 2013 4th International Workshop on Managing Technical Debt, MTD 2013 - Proceedings. pp 1–7
Tom E, Aurum A, Vidgen R (2013) An exploration of technical debt. J Syst Softw 86 1498–1516. <a href="http://dx.doi.org/10.1016/j.jss.2012.12.052">http://dx.doi.org/10.1016/j.jss.2012.12.052</a>
van Solingen R, Basili V, Caldiera G, Rombach HD (2002) Goal Question Metric (GQM) Approach. Encycl. Softw. Eng
Wohlin C, Runeson P, Höst M, et al. (2012) Experimentation in Software Engineering. Springer Science & Business Media, Heidelberg, Berlin.
Yli-Huumo J., Maglyas A., Smolander K. (2016) How do software development teams manage technical debt? - An empirical study. J Syst Softw. <a href="http://dx.doi.org/10.1016/j.jss.2016.05.018">http://dx.doi.org/10.1016/j.jss.2016.05.018</a>
Zazworka N. e, Spínola RO., Vetro A., et al. (2013) A case study on effectively identifying technical debt. In: ACM International Conference Proceeding Series. pp 42–47.