Resumen Las empresas muy pequeñas de desarrollo de software poseen un máximo de 25 empleados y tienen un limitado flujo de caja y tiempo para implementar mejoras en sus procesos que les permita ser más competitivos. Esta es una de las razones por las que estas empresas recurren a la implementación de marcos de trabajo ágil como SCRUM para gestionar el proceso de desarrollo de software. Pero cuando inician su adopción, encuentran que los documentos solo sugieren los cambios que se pueden realizar, pero no como hacerlos, tornando el proceso de descubrir cuales técnicas, eventos y artefactos son los que deben implementar en un enfoque de prueba y error costoso y en algunos casos inviable. Lo mismo sucede con otros marcos que pueden ser complementarios a SCRUM como DevOps, que propone un acercamiento entre el área de desarrollo y operaciones, donde se automaticen la mayor cantidad de tareas y se incrementen los controles de calidad para obtener mejores productos. Este artículo expone tres buenas prácticas basadas en DevOps, sus modelos de uso y en qué momentos dentro de SCRUM pueden ser utilizadas para facilitar su adopción en estas empresas. Se tiene como como objetivo exponer un modelo para el uso de versionamiento, integración y despliegue continuos y los momentos recomendados para su implementación dentro de SCRUM. Se identificaron las buenas prácticas más reportadas en la literatura para desarrollo de software basado en SCRUM y DevOps. Se seleccionaron tres de las mejores prácticas y se construyó un modelo de uso para cada una de ellas. Estas prácticas se pusieron a prueba mediante un caso de estudio y se evaluaron los resultados obtenidos. Las prácticas fueron evaluadas en 3 empresas, obteniendo cambios en los casos de soporte reportados semanalmente y en el número de despliegues exitosos. La división del proceso de desarrollo en fases evidencia que la fase que representa mayor posibilidad de empalme entre el conjunto de prácticas sugeridas por DevOps en SCRUM es la de desarrollo y calidad. El conjunto de prácticas sugeridas apunta a la implementación de controles para el aseguramiento de la calidad entregando información clave para el aprendizaje y mejora del equipo de desarrollo.
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.
Resumo As empresas de desenvolvimento de software muito pequenas têm no máximo 25 funcionários e possuem fluxo de caixa e tempo limitados para implementar melhorias em seus processos que lhes permitam ser mais competitivas. Essa é uma das razões pelas quais essas empresas recorrem à implementação de frameworks ágeis como o SCRUM para gerenciar o processo de desenvolvimento de software. Mas quando iniciam sua adoção, descobrem que os documentos apenas sugerem as mudanças que podem ser feitas, mas não como fazê-las, tornando o processo de descoberta de quais técnicas, eventos e artefatos são os únicos a serem implementados em uma tentativa e erro dispendiosa abordagem e, em alguns casos, inviável. O mesmo acontece com outros frameworks que podem ser complementares ao SCRUM, como o DevOps, que propõe uma aproximação entre a área de desenvolvimento e operações, onde o maior número de tarefas é automatizado e os controles de qualidade são aumentados para obter melhores produtos. Este artigo expõe três boas práticas baseadas em DevOps, seus modelos de uso e quando dentro do SCRUM podem ser utilizados para facilitar sua adoção nessas empresas. O objetivo é expor um modelo para uso de versionamento, integração e deployment contínuos e os momentos recomendados para sua implementação dentro do SCRUM. Foram identificadas as boas práticas mais relatadas na literatura para desenvolvimento de software baseado em SCRUM e DevOps. Três das melhores práticas foram selecionadas e um modelo de uso foi construído para cada uma delas. Estas práticas foram postas à prova através de um estudo de caso e os resultados obtidos foram avaliados. As práticas foram avaliadas em 3 empresas, obtendo mudanças nos casos de suporte relatados semanalmente e no número de implantações bem-sucedidas. A divisão do processo de desenvolvimento em fases mostra que a fase que representa a maior possibilidade de junção entre o conjunto de práticas sugeridas pelo DevOps no SCRUM é a de desenvolvimento e qualidade. O conjunto de práticas sugeridas aponta para a implantação de controles para garantia da qualidade, fornecendo informações fundamentais para aprendizado e aprimoramento da equipe de desenvolvimento.