Noticias > Artículos de opinión

Integración Continua, la solución para afrontar con éxito entornos de desarrollo complejos

13 Diciembre, 2015

Por Jose Manuel López Torets, Consultor Senior Ingeniería y Calidad del Software MTP

Vivimos en un entorno en el que cada vez hay más productos y servicios basados en software. Desgraciadamente, todos podemos contar experiencias sobre algún problema a la hora de utilizarlos, y un porcentaje altísimo de esos casos responde a una falta de calidad de su tecnología.

Si pensamos en la complejidad técnica en la que se basan los servicios actuales, en los que intervienen múltiples programas embebidos y conectados entre sí, no resulta extraño que se produzcan fallos. Sin embargo, hay que tener siempre presente que un error de programación, un error de cálculo de una aplicación o un error en el equipamiento de una red, puede ser suficiente para dar al traste con el negocio más atractivo y prometedor. La verdad es que resulta complicado demostrar que la calidad del software es un factor decisivo para el éxito, pero lo que sí está claro es que la falta de calidad es un factor decisivo para el fracaso, por lo que la responsabilidad que los equipos de desarrollo tienen sobre sus hombros es altísima.

En esta realidad, los responsables técnicos de los proyectos se ven obligados a superar los nuevos retos que plantean los entornos de desarrollo complejos, en los que intervienen múltiples equipos y en los que resulta habitual encontrarse con errores que incrementan los costes, la complejidad del proceso de integración y que ponen en riesgo el cumplimiento de los plazos, tales como uso de librerías incompatibles que eternizan los despliegues, código que no cumple con la normativa definida, generación de nuevos errores al corregir otros, etc.

Para lograrlo, se hace necesario plantearse la Calidad del Software desde una perspectiva global, que abarque el ciclo de vida completo del producto, teniendo en cuenta tanto la calidad final del mismo como la del proceso de su desarrollo. Así, contar con metodologías, estándares, buenas prácticas, normativas y directrices correctos resulta fundamental para construir el armazón que permita desarrollar y poner en producción un producto de software de calidad porque, de esta forma, los errores y los costes serán menores y la agilidad y eficacia crecerán. Es decir, no basta con probar y probar, sino con probar con criterio. Cuando se une un buen proceso con un buen producto, el éxito está prácticamente asegurado.

Con el fin de afrontar entornos de desarrollo complejos con garantías de calidad, MTP está proponiendo a sus clientes la implantación de procesos de Integración Continua. En pocas palabras, la integración continua es una práctica de desarrollo de software que consiste en llevar a cabo integraciones automáticas del proyecto lo más a menudo posible para, de esta forma, poder detectar fallos cuanto antes.

Es un proceso que tiene su origen en el inicio del proyecto y que se extiende a lo largo de todo el desarrollo, y en el que mediante la utilización de librerías comunes y el aseguramiento continuo y automático de los cambios generados por cada uno de los participantes en el desarrollo, eliminando problemas de integración, se evita dar margen a la generación y acumulación de código incorrecto.

En definitiva, la aplicación de un proceso de integración continua aporta sistematización a todo el ciclo de vida del producto, evitando sorpresas de última hora al mantener bajo control todo lo referente a la actividad de pruebas, verificación y construcción. 

Más concretamente, la propuesta de Integración Continua se basa en un software especializado en automatizar tareas y en hacer que estas se ejecuten de forma automática cuando se produce un evento, por ejemplo, una nueva versión de código en el repositorio. Gracias a este software, es posible automatizar tareas como: compilación de los componentes; integración de todo el desarrollo; ejecución de pruebas unitarias; ejecución de pruebas de integración; ejecución de pruebas de aceptación; obtención de métricas de calidad de código y despliegues automáticos. De esta forma, la práctica de Integración Continua permite:

  • Mantener un único repositorio de código fuente.
  • Automatizar la construcción del proyecto.
  • Hacer que la construcción del proyecto ejecute sus propios tests.
  • Entregar los cambios a la línea principal todos los días.
  • Construir la línea principal en la máquina de integración.
  • Mantener una ejecución rápida de la construcción del proyecto.
  • Probar en una réplica del entorno de producción.
  • Hacer que todo el mundo pueda obtener el último ejecutable de forma fácil.
  • Publicar qué está pasando.
  • Automatizar el despliegue.

 

En MTP estamos convencidos de que la apuesta por un proceso de integración continua en entornos de desarrollo complejos aporta innumerables ventajas en el objetivo de conseguir un software de alta calidad, tales como:

  • Se detectan rápidamente posibles conflictos entre desarrolladores.
  • Se garantiza el correcto funcionamiento del proyecto y se reduce el número de errores.
  • Se agiliza la corrección de los errores detectados.
  • Se resuelven problemas de integración a lo largo de todo el proceso y no solo al final del mismo, evitando situaciones caóticas previas a la fecha de entrega.
  • Se dispone de una build para pruebas de forma constante.
  • La monitorización de las métricas de calidad del proyecto se lleva a cabo de forma continua.

 

Si desea ampliar la información sobre la propuesta de Integración Continua de MTP, no dude en ponerse en contacto con nosotros.

Compartir