Prácticas DevOps de entrega continua de software para la transformación digital de los negocios

Fecha

2019

Título de la revista

ISSN de la revista

Título del volumen

Editor

Universidad EAFIT

Resumen

Today organizations face a new economic dynamic: a hyper-connected world, technologies accessible to the majority of the population and companies making major disruptions and creating digital experiences that establish a new standard for the interaction between customers and brands. In response to this, all companies, without exception, must start a process of digital transformation, where software is one of the key elements. Therefore, it is important to have capabilities to create and evolve software with criteria of speed, quality and efficiency to preserve companies’ existence. The DevOps movement, particularly in the Continuous Delivery of Software Capabilities, defines the practices that a company's software engineering process must incorporate in order to produce and maintain software under the aforementioned requirements. This research focuses its attention on the processes and practices in the Deployment Pipeline Cycle what comprises: Build, Tests, Deployment and Release. It approaches concepts, definitions and practices, and analyzes the importance of configuration management, continuous integration, test automation and deployment and release automation. It also reviews the tools required to implement, simplify, automate and manage the practices of each process. Finally, a proposal is made to guide the adoption and improvement of software delivery practices and suggests a set of metrics to evaluate the performance of the team responsible for the cycle.

Descripción

Las organizaciones hoy enfrentan una nueva dinámica económica: un mundo híper conectado, tecnologías accesibles a la mayor parte de la población y empresas haciendo grandes disrupciones y creando experiencias digitales que establecen un nuevo estándar para la interacción de los clientes con las marcas. En respuesta a esto todas las compañías, sin excepción, deben iniciar un proceso de transformación digital, donde el software es uno de los elementos claves. Así pues es relevante contar con capacidades para crear y evolucionar software con criterios de velocidad, calidad y eficiencia para preservar la existencia de las compañías. El movimiento DevOps, particularmente en las capacidades de Entrega Continua de Software define las prácticas que debe incorporar el proceso de ingeniería de software de una empresa para lograr producir y mantener software bajo las exigencias mencionadas. Esta investigación centra su atención en los procesos y prácticas del ciclo Construcción (Build), Pruebas (Test), despliegue (Deployment) y liberación en producción (Release). Aborda conceptos, definiciones y prácticas, y analiza la importancia de los procesos de gestión de la configuración, integración continua, automatización de pruebas y automatización del despliegue y la liberación en producción. Asimismo revisa las herramientas necesarias para implementar, simplificar, automatizar y administrar las prácticas de cada proceso. Finalmente se hace una propuesta para guiar la adopción y mejoramiento de las prácticas de entrega continua de software y sugiere un conjunto de métricas para evaluar el desempeño del equipo responsable del ciclo.

Palabras clave

Transformación Digital, DevOps, Entrega Continua de Software, Gestión de la Configuración, Integración Continua, Pruebas Continuas, Despliegue y Liberación Continuo, Ciclo Automático de Entrega de Software, Métricas de Desempeño de Entrega de Software

Citación