Approach to the Best Practices of Software Development Based on DevOps and SCRUM Used in Very Small Entities
Keywords:Software Engineering, DevOps, SCRUM, Software Quality Assurance, SQA
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.
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
How to Cite
Copyright (c) 2022 Manuel-Alejandro Pastrana-Pardo, Hugo-Armando Ordoñez-Erazo, Carlos-Alberto Cobos-Lozada
This work is licensed under a Creative Commons Attribution 4.0 International License.
All articles included in the Revista Facultad de Ingeniería are published under the Creative Commons (BY) license.
Authors must complete, sign, and submit the Review and Publication Authorization Form of the manuscript provided by the Journal; this form should contain all the originality and copyright information of the manuscript.
The authors who publish in this Journal accept the following conditions:
a. The authors retain the copyright and transfer the right of the first publication to the journal, with the work registered under the Creative Commons attribution license, which allows third parties to use what is published as long as they mention the authorship of the work and the first publication in this Journal.
b. Authors can make other independent and additional contractual agreements for the non-exclusive distribution of the version of the article published in this journal (eg, include it in an institutional repository or publish it in a book) provided they clearly indicate that the work It was first published in this Journal.
c. Authors are allowed and recommended to publish their work on the Internet (for example on institutional or personal pages) before and during the process.
review and publication, as it can lead to productive exchanges and a greater and faster dissemination of published work.
d. The Journal authorizes the total or partial reproduction of the content of the publication, as long as the source is cited, that is, the name of the Journal, name of the author (s), year, volume, publication number and pages of the article.
e. The ideas and statements issued by the authors are their responsibility and in no case bind the Journal.