Organização do Corpo de Conhecimento sobre Dívida Técnica: Tipos, Indicadores, Estratégias de Gerenciamento e Causas
Resumo
A identificação e gerenciamento da dívida técnica (DT) resulta em maior qualidade e produtividade na construção do software. No entanto, antes de identificar ou gerenciar a dívida, é necessário conhecer seus diferentes tipos, os indicadores de sua presença, as técnicas para seu gerenciamento e as causas para a sua ocorrência. O objetivo deste trabalho é organizar um corpo de conhecimento sobre DT considerando esse conjunto de informações. Para isso, foram realizados um mapeamento sistemático da literatura que resultou na análise de 100 estudos primários e um estudo de entrevista que considerou 30 unidades de análise. Como resultado, o corpo de conhecimento foi organizado e compartilhado através da infraestrutura TD Wiki.Referências
Alves, N.S.R., Araújo, R.S. and Spínola, R.O. (2015) A Collaborative Computational Infrastructure for Supporting Technical Debt Knowledge Sharing and Evolution. In: Americas Conference on Information Systems, Puerto Rico.
Alves, N.S.R., Mendes, T.S., Mendonça, M.G., Spínola, R.O., Shull, F. and Seaman, C. (2016) Identification and Management of Technical Debt: A Systematic Mapping Study. Information and Software Technology, 70, 100 – 121. DOI: https://doi.org/10.1016/j.infsof.2015.10.008
Alves, N.S.R., Spínola, R.O., Mendonça, M.G. and Seaman, C. (2017) A study of factors that lead development teams to incur technical debt in software projects. Submetido em abril de 2017 para o Empirical Software Engineering Journal.
Alves, N.S.R., Ribeiro, L. F., Caires, V., Mendes, T.S. and Spínola, R.O. (2014) “Towards an Ontology of Terms on Technical Debt”. In Proc. of the Sixth Int. Work. on Managing Technical Debt. IEEE Comp Society, Washington, USA, 1-7. DOI: 10.1109/MTD.2014.9
Basili, V.R. (1992) The Experimental Paradigm in Software Engineering. In Proc. of the International Workshop on Experimental Software Engineering Issues: Critical Assessment and Future Directions. Springer-Verlag, London, UK, UK, 3-12.
Budgen, D., Turner, M., Brereton, P. and Kitchenham, B. (2008) Using Mapping Studies in Software Engineering. In the Proceedings of PPIG Psychology of Programming Interest Group, Lancaster University, UK, pp. 195–204.
Buschmann, F. (2011) “To pay or not to pay technical debt,” IEEE Software, v. 28, n. 6, p. 29-31..
Cunningham, W. (1992) The WyCash portfolio management system. ACM SIGPLAN OOPS Messenger, 4(2), 29-30.
Falbo, R.A., Menezes, C.S. and Rocha, A.R.C. (1998) A systematic approach for building ontologies. In Ibero-American Conference on Artificial Intelligence (pp. 349-360). Springer Berlin Heidelberg.
Fowler, M. (2003) Technical Debt. Available: http://www.martinfowler.com/bliki/TechnicalDebt.html
Gruber, T.R. (1995) “Toward Principles For The Design Of Ontologies Used For Knowledge Sharing,” Int. Journal Human-Computer Studies, 43(5/6), p. 907-928.
Guo, Y., Spínola, R.O. and Seaman, C. (2014) Exploring the costs of technical debt management – a case study, Empirical Software Engineering, 1-24.
Izurieta, C., Vetro, A., Zazworka, N., Cai, Y., Seaman, C. and Shull, F. (2012) Organizing the technical debt landscape, in Third International Workshop on Managing Technical Debt (MTD), pp. 23-26.
Kruchten, P., Nord, R. and Ozkaya, I. (2012) Technical Debt: From Metaphor to Theory and Practice, Software, IEEE 29(6), 18-21.
Lehman, M.M. and Belady, L.A. (1985) Program evolution: processes of software change. Academic Press Professional, Inc.
Lientz, B.P., Swanson, E.B. and Tompkins, G.E. (1978) Characteristics of application software maintenance. Communications of the ACM, 21(6), 466-471.
Mcconnell, S. (2007) Technical Debt. 10x Software Development [Blog]. Available at: http://blogs.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx.
Parnas, D.L. (1994) Software aging. In Proceedings of the 16th international conference on Software engineering (pp. 279-287). IEEE Computer Society Press.
Petersen, K., Feldt, R., Mujtaba, S. and Mattson, M. (2008) Systematic mapping studies in software engineering. In the 12th International Conference on Evaluation and Assessment in Software Engineering, University of Bari, Italy.
Schumacher, J.; Zazworka, N.; Shull, F.; Seaman, C. and Shaw, M. (2010) Building empirical support for automated code smell detection, ESEM’10: Proceedings of the 2010 ACM-IEEE Int. Symp. on Empirical Software Engineering and Measurement.
Seaman, C. and Guo, Y. (2011) Measuring and Monitoring Technical Debt, Advances in Computers 82, 25-46.
Spínola, R., Zazworka, N., Vetro`, A., Seaman, C. and Shull, F. (2013) Investigating technical debt folklore: Shedding some light on technical debt opinion, in Managing Technical Debt (MTD), 2013 4th International Workshop on, pp. 1-7.
Zazworka, N., Spínola, R.O., Vetro, A., Shull, F. and Seaman, C. (2013) A case study on effectively identifying technical debt, EASE 13: Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering.
Alves, N.S.R., Mendes, T.S., Mendonça, M.G., Spínola, R.O., Shull, F. and Seaman, C. (2016) Identification and Management of Technical Debt: A Systematic Mapping Study. Information and Software Technology, 70, 100 – 121. DOI: https://doi.org/10.1016/j.infsof.2015.10.008
Alves, N.S.R., Spínola, R.O., Mendonça, M.G. and Seaman, C. (2017) A study of factors that lead development teams to incur technical debt in software projects. Submetido em abril de 2017 para o Empirical Software Engineering Journal.
Alves, N.S.R., Ribeiro, L. F., Caires, V., Mendes, T.S. and Spínola, R.O. (2014) “Towards an Ontology of Terms on Technical Debt”. In Proc. of the Sixth Int. Work. on Managing Technical Debt. IEEE Comp Society, Washington, USA, 1-7. DOI: 10.1109/MTD.2014.9
Basili, V.R. (1992) The Experimental Paradigm in Software Engineering. In Proc. of the International Workshop on Experimental Software Engineering Issues: Critical Assessment and Future Directions. Springer-Verlag, London, UK, UK, 3-12.
Budgen, D., Turner, M., Brereton, P. and Kitchenham, B. (2008) Using Mapping Studies in Software Engineering. In the Proceedings of PPIG Psychology of Programming Interest Group, Lancaster University, UK, pp. 195–204.
Buschmann, F. (2011) “To pay or not to pay technical debt,” IEEE Software, v. 28, n. 6, p. 29-31..
Cunningham, W. (1992) The WyCash portfolio management system. ACM SIGPLAN OOPS Messenger, 4(2), 29-30.
Falbo, R.A., Menezes, C.S. and Rocha, A.R.C. (1998) A systematic approach for building ontologies. In Ibero-American Conference on Artificial Intelligence (pp. 349-360). Springer Berlin Heidelberg.
Fowler, M. (2003) Technical Debt. Available: http://www.martinfowler.com/bliki/TechnicalDebt.html
Gruber, T.R. (1995) “Toward Principles For The Design Of Ontologies Used For Knowledge Sharing,” Int. Journal Human-Computer Studies, 43(5/6), p. 907-928.
Guo, Y., Spínola, R.O. and Seaman, C. (2014) Exploring the costs of technical debt management – a case study, Empirical Software Engineering, 1-24.
Izurieta, C., Vetro, A., Zazworka, N., Cai, Y., Seaman, C. and Shull, F. (2012) Organizing the technical debt landscape, in Third International Workshop on Managing Technical Debt (MTD), pp. 23-26.
Kruchten, P., Nord, R. and Ozkaya, I. (2012) Technical Debt: From Metaphor to Theory and Practice, Software, IEEE 29(6), 18-21.
Lehman, M.M. and Belady, L.A. (1985) Program evolution: processes of software change. Academic Press Professional, Inc.
Lientz, B.P., Swanson, E.B. and Tompkins, G.E. (1978) Characteristics of application software maintenance. Communications of the ACM, 21(6), 466-471.
Mcconnell, S. (2007) Technical Debt. 10x Software Development [Blog]. Available at: http://blogs.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx.
Parnas, D.L. (1994) Software aging. In Proceedings of the 16th international conference on Software engineering (pp. 279-287). IEEE Computer Society Press.
Petersen, K., Feldt, R., Mujtaba, S. and Mattson, M. (2008) Systematic mapping studies in software engineering. In the 12th International Conference on Evaluation and Assessment in Software Engineering, University of Bari, Italy.
Schumacher, J.; Zazworka, N.; Shull, F.; Seaman, C. and Shaw, M. (2010) Building empirical support for automated code smell detection, ESEM’10: Proceedings of the 2010 ACM-IEEE Int. Symp. on Empirical Software Engineering and Measurement.
Seaman, C. and Guo, Y. (2011) Measuring and Monitoring Technical Debt, Advances in Computers 82, 25-46.
Spínola, R., Zazworka, N., Vetro`, A., Seaman, C. and Shull, F. (2013) Investigating technical debt folklore: Shedding some light on technical debt opinion, in Managing Technical Debt (MTD), 2013 4th International Workshop on, pp. 1-7.
Zazworka, N., Spínola, R.O., Vetro, A., Shull, F. and Seaman, C. (2013) A case study on effectively identifying technical debt, EASE 13: Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering.
Publicado
28/08/2017
Como Citar
ALVES, Nicolli Souza Rios; SPÍNOLA, Rodrigo Oliveira.
Organização do Corpo de Conhecimento sobre Dívida Técnica: Tipos, Indicadores, Estratégias de Gerenciamento e Causas. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 16. , 2017, Rio de Janeiro.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2017
.
p. 340-354.
DOI: https://doi.org/10.5753/sbqs.2017.15116.