Pero, realmente… ¿Qué beneficios aporta la integración continua? 5 razones

Post escrito por Mariano Minoli (@marianominoli), Ana María García (@amgarciao) y Javier Garzás (@jgarzas)
Como muchos sabéis, la semana pasada os comentaba que para este año, para este octubre, saldrá uno de los libros que nos habíamos planteado publicar, con la inestimable ayuda de 233 grados de TI, y que trata sobre Integración Continua.
Como también os comenté, mientras llega octubre, para aliviar la espera, te vamos a ir dejando en estas semanas algunos post con extractos del futuro libro. Aquí te dejamos uno más…

¿Qué beneficios aporta la integración continua?

En ocasiones, tanto escuchamos hablar de una nueva tecnología, metodología, buena práctica, etc., que de por sí, de tanto escucharla, asumimos que es “algo bueno”, sin pararnos a pensar… ¿por qué?
Pero ya sabrás de otras ocasiones cómo nos gusta afrontar las cosas: Si no tienes claro “por qué” estás implantando una práctica TI, probablemente metas la pata, y en pocos meses dejes de usarla
Así que antes de meterte en un proceso de integración continua, o si necesitas convencer a alguien de ello, déjanos enumerar las principales ventajas del mismo. La siguiente lista es un resumen de nuestra experiencia y de lo expresado por un monton de autores sobre el tema: Humble y Farley en su libro Continuous Delivery, Duvall en su libro Continuous Integration, etc..

1 – Reducir riesgos y tiempos

Cada vez que alguien nos cuenta que el equipo integra, por ejemplo, cada dos o tres meses… puedes ver el sufrimiento en sus ojos.
¿Cuántas veces te has encontrado con tener que integrar el código de dos (o más) desarrolladores (o equipos de desarrollo) en la última fase del proyecto, cada muchos meses, cuando ya hay poco tiempo disponible? Esta situación ocurre con demasiada frecuencia y ya sabes lo que pasa y cómo termina.
Si integras software cada 3 meses, cada integración incluirá una enorme cantidad de cambios (un delta de cambios grande), en cambio, si lo haces frecuentemente, integras de manera continua, disminuyes la cantidad de cambios a integrar y el riesgo de que haya errores y el tiempo en solucionarlos si los hay.

2 – Reducir procesos repetitivos manuales

Los procesos de instalación manuales, cuando se realizan de manera repetitiva, son una pérdida de tiempo y constituyen una fuente de equivocaciones. Las personas nos equivocamos, los scripts de instalación no. Además, tener scrips que «saben» como hacer la integración continua (y añadidos posteriores, como desplieges, testeo, etc.) evita dependencias de personas…

3 – Crear una versión de software mediante un proceso conocido, confiable, probado, versionado y repetible

A nadie le gusta que para hacer un paso a producción haya que empezar a las 20:00 y terminar con suerte a las 03:00 am.
Si tenemos un proceso de integración continua tenemos un proceso conocido, confiable, probado, versionado y repetible, seremos capaces de ejecutarlo en cualquier lugar y momento y con menor dependencia de personas concretas.

4 – Mejorar la visibilidad del estado del proyecto

Si tienes un proceso y un entorno de integración continua tienes un proceso automático de integración, compilado, testeo, medición de la calidad, etc.
Como dicho proceso se lanza frecuentemente, sabemos, frecuentemente, el estado del proyecto. Y no al final, cuando ay es demasiado tarde para hacer algo.
Analizando cómo se va desarrollando la integración continua se pueden obtener estadísticas y tendencias del estado del desarrollo.

5 – Lograr una mayor auto-confianza y seguridad en el equipo de desarrollo

La experiencia demuestra que un equipo que utiliza integración continua logra una mayor confianza interna, al estar comprobando constantemente el estado del desarrollo.
Y no es solamente la confianza en el equipo, es también del entorno (usuarios, gestores, etc.)
Un equipo de desarrollo de software que se siente seguro es un equipo más motivado y más productivo.
 

Javier Garzás

0 comentarios en “Pero, realmente… ¿Qué beneficios aporta la integración continua? 5 razones”

  1. Hola Javier,
    Estoy de acuerdo en los 5 beneficios que expones en el post, aunque hecho de menos algún beneficio económico.
    Todos estos beneficios se pueden traducir más o menos directamente a beneficios económicos, pero hecho en falta algo más explícito. Al fin y al cabo, si hay que convencer a alguien de usar integración contínua es al jefe, y que mejor que hablarle de dinero, ¿no? $_$

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir arriba