Approach to the Best Practices of Software Development Based on DevOps and SCRUM Used in Very Small Entities

Authors

DOI:

https://doi.org/10.19053/01211129.v31.n61.2022.14828

Keywords:

Software Engineering, DevOps, SCRUM, Software Quality Assurance, SQA

Abstract

Very small entities in software development have a maximum of 25 employees. Their cash flow and time available for implementing improvements in their processes to enable them to be more competitive are limited, leading them to turn to agile frameworks such as SCRUM to manage the software development process. However, when they try to adopt these, they find that the documents only suggest changes that can be made and not how to make them. As a result, the trial and error process of discovering which techniques, events and artifacts ought to be implemented is costly and, in some cases, unfeasible. The same applies to other frameworks that can complement SCRUM, such as DevOps, a framework that proposes a rapprochement between the development and operations areas, in which as many tasks as possible are automated, and quality controls are increased to obtain better quality products. This article presents three best practices based on DevOps, its models of use and when these can be used within SCRUM to facilitate its adoption in the smallest companies. A model is presented for the use of versioning, integration, and continuous deployment and the particular moments recommended for implementing these within SCRUM. The best practices most widely reported in the literature for software development based on SCRUM and DevOps were identified. Three were then selected, and a usage model was built for each of them. Then, they were evaluated using a case study, and the results were assessed. The practices were evaluated in three (3) very small entities, obtaining changes in the support cases reported weekly and in the number of successful deployments. The division of the development process into phases reveals that the development and quality phase provides more possibilities for splicing among the set of practices suggested by DevOps in SCRUM. Likewise, the set of suggested practices points to the implementation of controls for quality assurance, providing key information for development team learning and improvement.

Downloads

Download data is not yet available.

Author Biographies

Manuel-Alejandro Pastrana-Pardo, Institución Universitaria Antonio Jose Camacho

Roles: Conceptualization, Methodology Resources, Writing- Original draft preparation.

Hugo-Armando Ordoñez-Erazo, Universidad del Cauca

Roles: Conceptualization, Methodology, Resources, Writing- Original draft, Supervision, Project administration, Funding acquisition.

Carlos-Alberto Cobos-Lozada, Universidad del Cauca

Roles: Supervision, Writing- Review and Editing.

References

S. Martinez-Fernandez, A. Vollmer, A.Jedlitschka, X. Franch, L. Lopez, P. Ram, P. Rodriguez, S. Aaramaa, A. Bagnato, M. Choras, J. Partanen, “Continuously Assessing and Improving Software Quality With Software Analytics Tools: A Case Study,” IEEE Access, vol. 7, pp. 68219–68239, 2019. https://doi.org/10.1109/ACCESS.2019.2917403

P. Rodríguez, A. Haghighatkhah, L. E. Lwakatare, S. Teppola, T. Suomalainen, J. Eskeli, T. Karvonen, P. Kuvaja, J. M. Verner, M. Oivo, “DevOps in practice: A multiple case study of five companies,” Information and Software Technology, vol. 114, pp. 217–230, 2019. https://doi.org/10.1016/j.infsof.2019.06.010

ISO/IEC JTC 1/SC 7/WG 24, ISO/IEC DTR 29110-5-6-3:2018, ISO, 2019. https://isotc.iso.org/livelink/livelink/open/jtc1sc7wg24

M. Munoz, J. Mejia, A. Lagunas, “Implementation of the ISO/IEC 29110 standard in agile environments: A systematic literature review,” in Iberian Conference on Information Systems and Technologies, 2018, pp. 1–6. https://doi.org/10.23919/CISTI.2018.8399332

A. Hemon, B. Lyonnet, F. Rowe, B. Fitzgerald, “From Agile to DevOps: Smart Skills and Collaborations,” Information Systems Frontiers, vol. 22, no. 4, pp. 927–945, 2020. https://doi.org/10.1007/s10796-019-09905-1

S. Badshah, A. A. Khan, B. Khan, “Towards Process Improvement in DevOps,” in Proceedings of the Evaluation and Assessment in Software Engineering, 2020, pp. 427–433. https://doi.org/10.1145/3383219.3383280

M. Z. Toh, S. Sahibuddin, M. N. Mahrin, “Adoption Issues in DevOps from the Perspective of Continuous Delivery Pipeline,” in Proceedings of the 2019 8th International Conference on Software and Computer Applications, 2019, pp. 173–177. https://doi.org/10.1145/3316615.3316619

A. Hemon, B. Lyonnet, F. Rowe, B. Fitzgerald, “Conceptualizing the transition from agile to DevOps: A maturity model for a smarter is function,” in IFIP Advances in Information and Communication Technology, 2019, pp. 209–223. https://doi.org/10.1007/978-3-030-04315-5_15

R. S. Pressman, B. R. Maxim, Software Engineering: A Practitioner’s Approach, Eighth Edition, McGraw-Hil. Boston, USA: McGraw-Hill, 2015.

K. Schwaber, J. Sutherland, L. Guía, D. de Scrum, L. Reglas, La Guía Definitiva de Scrum: Las Reglas del Juego, 2020. https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Spanish-European.pdf

M. O. Onarcan, Y. Fu, M. O. Onarcan, Y. Fu, “A Case Study on Design Patterns and Software Defects in Open Source Software,” Journal of Software Engineering and Applications, vol. 11, no. 5, pp. 249–273, 2018. https://doi.org/10.4236/JSEA.2018.115016

M. Pastrana, H. Ordoñez, A. Rojas, A. Ordoñez, “Ensuring Compliance with Sprint Requirements in SCRUM: Preventive Quality Assurance in SCRUM,” in Advances in Intelligent Systems and Computing, 2019, pp. 33–45. https://doi.org/10.1007/978-981-13-6861-5_3

N. Railic, M. Savic, “Architecting Continuous Integration and Continuous Deployment for Microservice Architecture,” in 20th International Symposium INFOTEH-JAHORINA, 2021. https://doi.org/10.1109/INFOTEH51037.2021.9400696

Y. Zhao, A. Serebrenik, Y. Zhou, V. Filkov, B. Vasilescu, “The impact of continuous integration on other software development practices: A large-scale empirical study,” in 32nd IEEE/ACM International Conference on Automated Software Engineering, 2017, pp. 60–71. https://doi.org/10.1109/ASE.2017.8115619

Downloads

Published

2022-09-28

How to Cite

Pastrana-Pardo, M.-A., Ordoñez-Erazo, H.-A., & Cobos-Lozada, C.-A. (2022). Approach to the Best Practices of Software Development Based on DevOps and SCRUM Used in Very Small Entities. Revista Facultad De Ingeniería, 31(61), e14828. https://doi.org/10.19053/01211129.v31.n61.2022.14828