Como muchos otros procedimientos de la metodología Ágil, una de las funciones principales de la CI o Integración Continua, es facilitar el trabajo a los desarrolladores. Cuando hablamos de integración contínua, nos referimos a la creación de código entre diferentes desarrolladores y bajo una minuciosa comprobación del mismo. Para hacer que esto sea posible y fácil, no esperaremos a que el código esté finalizado, como se hacía en los métodos convencionales o de cascada, sino que dividiremos el trabajo en pequeñas tareas ,también denominadas sprints, que no suponen un gran esfuerzo ni necesitan una gran inversión de tiempo, de forma que se puedan ir comprobando dichas tareas frecuentemente. Estas comprobaciones se deben llevar a cabo por lo menos una vez al día y suelen ser realizadas al finalizar cada jornada laboral. En base a los resultados, podemos seguir creando o entramos en la fase de modificación, donde una vez detectado el error, el grupo decidirá cómo se puede superar y para ello, que deben modificar.

Ágil implica trabajar de forma rápida e intentar reducir el rango de errores al mínimo posible. Una forma de poder conseguirlo es fomentando el trabajo en equipo, de forma que se ayuden para superar las trabas y aprendan los unos de los otros. Otra característica es desglosar los grandes proyectos en pequeñas tareas, de forma que el trabajo se mucho más llevadero, la presión menor y los tiempos de entrega / validación, más frecuentes. Por lo tanto, un flujo contínuo de revisiones, opiniones, pruebas, feedback entre el cliente y entre los miembros del equipo, superación de errores, cuidar el código y trabajar cómodo hace que este tipo de prácticas sean tan frecuente hoy en día.

Ahora ya sabemos que un trabajo más eficiente y rentable es posible.

 

Ventajas de integración continua 

 

1. Como es fácilmente deducible, el nombre que adquiere esta práctica es descriptivo y literal. Nos basamos en la comprobación continua del código para poder integrar poco a poco las mejoras o ir actualizando a diario para obtener un resultado mucho más fiable y en periodo menor de tiempo. Lo que nos permite ajustarnos mejor a los timings propuestos y evitar las presiones derivadas de última hora por la presión de las entregas.

2. Otra de las ventajas que tiene la CI es a nivel personal. Puesto que estas prácticas se llevan a cabo en proyectos conjuntos, son los propios desarrolladores los que van a ir analizando el código creado, apoyándose los unos en los otros. Ellos mismos van a tener que aprender diferentes métodos de integración y verse obligados a superar día tras día diferentes errores o fallos encontrados en el código creado. Esto fomenta la comunicación entre el equipo, y hace que sea mucho más enriquecedor tanto a nivel individual como a nivel de grupo o equipo.

3. En todo momento se tendrá una versión para pruebas, o una primera fase para poder contrastar la evolución del código de forma que haga posible detectar los errores a tiempo y poder corregirlos.

4. A su vez, en todo momento cada miembro del equipo tiene acceso a la versión final.

5. La integración continua garantiza unos resultados de calidad y un funcionamiento correcto del proyecto gracias a su continua supervisión y a la reducción de errores.

6. Evidentemente todo este proceso de revisiones y correcciones lo más frecuentes posibles, forman parte de una automatización que se desarrolla para facilitar la comunicación entre el equipo y la evolución del proyecto.

7. Otro factor importante en la integración contínua, es la monitorización de las métricas más relevantes de nuestro proyecto, de forma que podamos tener presente en todo momento la calidad del mismo. Esto a la larga, nos llevará a un buen código sin necesidad de modificaciones una vez llevado a la última fase, puesto que lo vamos optimizando a medida que lo construimos.

 

En Apiumhub utilizamos diferentes herramientas propias de estas procesos de Integración continua, y los resultados son los siguientes:

integración continua ventajas

Como puedes ver, la implementación es algo más costosa, debido a la necesidad de usar diferentes herramientas que nos permitan llevar a cabo un proceso ágil, midiendo las métricas y detectar los errores a tiempo. Pero en el resto de campos, implementar la integración continua en nuestros desarrollos, ha hecho que seamos mucho más económicos que la competencia, sobre todo en las etapas de mantenimiento, puesto que los posibles errores se localizan rápidamente y se solucionan prácticamente de inmediato. Gracias que creamos un código limpio y organizado, enfocado siempre al consumidor final.

Esperemos que esta introducción a la integración continua te haya servido de ayuda y que al igual que Apiumhub, te animes a llevarla a cabo en vuestros departamentos de desarrollo.

Un saludo y hasta el próximo artículo!

 

Si te gustó este artículo, te puede interesar:

Los beneficios de la tecnología Scrum 

Beneficios de la tecnología Agil

Metodo Kanban Principios y Ventajas 

Beneficios de TDD

¿Porque debería usar Docker en mi proyecto de desarrollo?

Beneficios de la pruebas unitarias

La importancia de las retrospectivas en la metodología Ágil 

 

Suscríbete a nuestro newsletter para estar al día de los eventos, meet ups y demás artículos!