La integración continua y su aporte al aseguramiento de la calidad en el ciclo de vida del desarrollo de software (2015)
La calidad de software se ha convertido en un eje dentro de las empresas que utilizan procesos de desarrollo de software, en el cuál se están invirtiendo grandes esfuerzos para lograr obtener productos de alta calidad para alcanzar a ser un referente en el mercado de la producción de software. Actualmente el desarrollo de aplicaciones se encuentra apoyado por diferentes normas, certificaciones de procesos, además prácticas y herramientas que aportan mejoras en el diseño, implementación y desarrollo de software, esta investigación se centra en una de las prácticas que se vienen implementando las empresas para agilizar los procesos de desarrollo y controlar la calidad del mismo. Según Matin Flower, “La Integración Continua es una práctica de desarrollo de software en el que los miembros de un equipo integran su trabajo con determinada frecuencia, generalmente una persona se integra mínimo una vez al día, lo cual resulta en muchas integraciones diarias, cada integración es verificada por un ciclo automatizado (incluyendo las pruebas), para detectar errores de integración tan rápido como sea posible”1. Una vez conocidos los problemas comunes de las empresas colombianas que desarrollan Software como lo son: código inestable, integraciones (despliegues o liberaciones) fallidas, dificultad para identificar lo que se debe probar, disponibilidad del rol de pruebas para realizar pruebas en cualquier momento que sea necesario, falta de cultura en la realización de pruebas unitarias documentadas, limitada disponibilidad del estado el proyecto de desarrollo de software en tiempo real, entre otros, se hace evidente la necesidad de minimizar dichos problemas para conseguir una mayor calidad del producto; se decide realizar esta investigación con el fin de dar a conocer los beneficios de aplicar la Integración Continua, lograr presentar sus beneficios y la mejor forma de implementar esta práctica, para aportar en el mejoramiento de los procesos de aseguramiento de la calidad y optimizar la utilización de herramientas de uso gratuito, que ayudan a controlar alguna actividad dentro del desarrollo de software, de la misma manera, mostrar a los profesionales en ingeniería de sistemas la forma de mejorar su calidad de vida en su entorno laboral con respecto a los traumatismos que se generan en el momento de realizar despliegue de modificaciones a las aplicaciones en los ambientes de pruebas o productivo y a facilidad de identificar errores en el software ya que se compila en cortos espacios de tiempo el código generado por todo el equipo de desarrollo.