Approach to the Best Practices of Software Development Based on DevOps and SCRUM Used in Very Small Entities - Pastrana-Pardo, Manuel-Alejandro; Ordoñez-Erazo, Hugo-Armando; Cobos-Lozada, Carlos-Alberto (Universidad Pedagógica y Tecnológica de Colombia, 2022)
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.