Exploring the Impact of DevOps and Agile Practices from the Perspective of Source Code Analysis

  • Jalles Daniel Barros University Única
  • Luiz Carlos Oliveira University Única
  • Johnatan Oliveira UFLA
  • Juliana Padilha University Única

Resumo


Implementing agile practices in software development processes promises improvements in product quality and process productivity. However, there are few reports of failures from which to learn, and it is not always clear which practices are effective in specific contexts. This paper investigates how the use of DevOps and agile methodologies affects code quality in open-source projects hosted on GitHub. A total of 57 Java repositories, obtained through queries to the GitHub GraphQL API, were analyzed and categorized into four groups: i) projects that do not use agile nor DevOps, ii) projects that use agile but not DevOps, iii) projects that use both agile and DevOps, and (iv) projects that use DevOps but not agile. The results indicate that the majority of analyzed projects belong to group iii. Furthermore, the absolute number of code smells and their proportion relative to the number of lines of code are highest in group iii, suggesting a positive correlation between the use of both agile and DevOps practices and an increase in code smells.
Palavras-chave: DevOps, Agile, GitHub, Quality

Referências

F. Almeida, J. Simões, and S. Lopes. Exploring the benefits of combining devops and agile. Future Internet, 14(2):63, 2022.

Maria Teresa Baldassarre, Valentina Lenarduzzi, Simone Romano, and Nyyti Saarimäki. On the diffuseness of technical debt items and accuracy of remediation time when using sonarqube. Information and Software Technology, 128:106377, 2020. ISSN 0950-5849.

María Cecilia Bastarrica, Germán Espinoza, and Jacqueline Marín. Implementing agile practices: the experience of tsol. In Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM ’18, New York, NY, USA, 2018. Association for Computing Machinery.

Woubshet Behutiye, Pilar Rodríguez, and Markku Oivo. Quality requirement documentation guidelines for agile software development. IEEE, 10, 2022.

Hudson Silva Borges, André C. Hora, and Marco Túlio Valente. Understanding the factors that impact the popularity of github repositories. 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), pages 334–344, 2016.

Samuel Ferino, Marcelo Fernandes, Anny Fernandes, Uirá Kulesza, Eduardo Aranha, and Christoph Treude. Analyzing devops teaching strategies: An initial study. In Proceedings of the XXXV Brazilian Symposium on Software Engineering, SBES ’21, page 180–185, New York, NY, USA, 2021. Association for Computing Machinery.

A. Hemon, B. Lyonnet, F. Rowe, et al. From agile to devops: Smart skills and collaborations. Information Systems Frontiers, 22(4):927–945, 2020.

J. A. V. M. K. Jayakody and W.M.J.I. Wijayanayake. Challenges for adopting devops in information technology projects. In 2021 International Research Conference on Smart Computing and Systems Engineering (SCSE), volume 4, pages 203–210, 2021.

Pertti Karhapää, Woubshet Behutiye, Pertti Seppänen, Pilar Rodríguez, Markku Oivo, Xavier Franch, Silverio Martínez-Fernández, Lidia López, Michał Choraś, Alessandra Bagnato, Sanja Aaramaa, and Jari Partanen. Evidence-based quality-aware agile software development process: Design and evaluation. IEEE Access, 12:86487–86512, 2024.

Lucy Ellen Lwakatare, Pasi Kuvaja, and Markku Oivo. Relationship of devops to agile, lean and continuous deployment - a multivocal literature review study. In International Conference on Product Focused Software Process Improvement, 2016.

Alok Mishra and Ziadoon Otaiwi. Devops and software quality: A systematic mapping. Computer Science Review, 38:100308, 2020.

Fabio Palomba, Gabriele Bavota, Massimiliano Di Penta, Fausto Fasano, Rocco Oliveto, and Andrea De Lucia. On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation. Empirical Software Engineering, 23:1188 – 1221, 2017.

Pulasthi Perera, Roshali Silva, and Indika Perera. Improve software quality through practicing devops. In 2017 Seventeenth International Conference on Advances in ICT for Emerging Regions (ICTer), pages 1–6, 2017.

Sadaquat Ali Ruk, Muhammad Faizan Khan, Sehar Gul Khan, and Syed Maqsood Zia. A survey on adopting agile software development: Issues its impact on software quality. In 2019 IEEE 6th International Conference on Engineering Technologies and Applied Sciences (ICETAS), pages 1–5, 2019.

C. Wohlin, P. Runeson, M. Höst, M.C. Ohlsson, B. Regnell, and A. Wesslén. Experimentation in Software Engineering. Computer Science. Springer Berlin Heidelberg, 2012.

Nico Zazworka, Antonio Vetrò, Clemente Izurieta, Sunny Wong, Yuanfang Cai, Carolyn Budinger Seaman, and Forrest Shull. Comparing four approaches for technical debt identification. Software Quality Journal, 22:403–426, 2014.
Publicado
30/09/2024
BARROS, Jalles Daniel; OLIVEIRA, Luiz Carlos; OLIVEIRA, Johnatan; PADILHA, Juliana. Exploring the Impact of DevOps and Agile Practices from the Perspective of Source Code Analysis. In: WORKSHOP DE VISUALIZAÇÃO, EVOLUÇÃO E MANUTENÇÃO DE SOFTWARE (VEM), 12. , 2024, Curitiba/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 91-102. DOI: https://doi.org/10.5753/vem.2024.3910.