Herramientas clave de integración continua

Jose Morales, vice presidente de desarrollo corporativo en Atlassian, indica que una correcta utilización de estas herramientas colaborativas puede hacer cambiar la forma tradicional de la formación en la empresa.

Publicado el 12 Feb 2016

José Morales, vice presidente de desarrollo corporativo en Atlassian

Los últimos estudios indican que la prioridad de lo CIO está en acelerar la velocidad de las TI, es decir, ser capaz de desarrollar las funcionalidades exigidas por el negocio de forma muy rápida sin que ello suponga perder Calidad ni aumentar el número de incidencias.

Esta necesidad implica cambios en el proceso de desarrollo (metodologías ágiles, equipos de desarrollos pequeños y autogestionados), cambios en la forma de implantar las aplicaciones en Producción (cambios en los pases programados por calendarios hacia un despliegue continuo) y cambios en la forma que las aplicaciones se construyen y se gestionan (Integración continua, despliegue continuo, etc.).

Para que esta forma de desarrollo funcione es preciso apoyarse en una base de herramientas sólidas y que facilite el trabajo de los desarrolladores evitando las tareas manuales y la posibilidad de errores.

Martín Fowler describe la Integración Continua como una práctica de desarrollo en la que, en lugar de trabajar de forma independiente, y cada componente del equipo por separado para, finalmente, integrar el resultado (con los consiguientes problemas de incompatibilidades que hay que resolver) los equipos de trabajo pueden estar realizando integraciones de forma continua. La integración se garantiza por las herramientas de construcción automatizada, asegurando que la integración es correcta y realizando las pruebas también de forma automatizada para detectar posibles errores de integración de la forma más rápida posible. Esta forma de trabajo permite a un equipo desarrollar software de forma rápida y, a la vez, garantiza que se mantiene la coherencia entre los trabajos realizados por los distintos miembros del equipo.

Ahora bien, a mecanismos de gestión de versiones (como GIT o subversión), herramientas para facilitar ese trabajo (Stash, Bitbucket, o Fisheye), herramientas integración/despliegue/entrega continua (como Bamboo, Hudson, Jenkins, etc.), otras como Maven, Ant o MSbuil y las imprescindibles herramientas de Gestión de Tareas como JIRA, sólida y la vez adaptable e integrada con el resto de herramientas.

Otras herramientas necesarias son aquellas herramientas que permiten espacios de colaboración para compartir la información que necesitan los equipos de trabajo, realizar búsquedas rápidas de información y comunicar a los equipos entre ellos sin necesidad de utilizar correos electrónicos. En este caso, igualmente, la herramienta debe permitir el configurar de forma sencilla la información que necesita el equipo de trabajo y, a la vez, compartir la información necesaria con otros equipos del proyecto o con el resto de la organización. Confluence o Hipchat pueden ser, al igual que otras muchas, buenas opciones para poder afrontar este salto a la colaboración.

Una correcta utilización de estas herramientas colaborativas puede hacer cambiar la forma tradicional de la formación en su empresa, fomentando la autoformación y la búsqueda sencilla de la información requerida.

No podemos obviar que estas herramientas deben tener conexión con otras herramientas del ciclo de desarrollo: herramientas de documentación de requisitos, de análisis y diseño, de modelización de datos, etc. Hay que comprobar también que las herramientas que se eligen sean lo suficientemente abiertas y tengan ya construidos los conectores que necesita. La integración de herramientas debe ser lo más parecido a un “plug and play” y no debe precisar realizar desarrollos de integración muy complejos.

A todo lo dicho podríamos pensar que con este número de herramientas diferentes y su aparente complejidad, esto podría ser caro. Pero no es así. Nos hemos referido a una nueva generación de herramientas, muy flexibles y fáciles de configurar, que disponen de los conectores necesarios con otras herramientas para que no se tengan que construir en la empresa y que tienen un coste que no tienen nada que ver con herramientas de generaciones anteriores. Y si no existen los conectores, estas herramientas suministran los instrumentos necesarios para construirlos (APIs). Las licencias están pensadas para pagar solo por el uso realizado e igualmente concebidas para implantarse de forma progresiva a medida que los distintos equipos adquieren la formación y asumen el cambio cultural que supone trabajar de esta manera.

Si las herramientas que está buscando o de las que dispone son caras o poco flexibles, debería pensar en cambiarlas lo antes posible. Ya dispone de nueva generación de herramientas que le ayudarán a reducir de manera drástica el número de errores en el producto final.

¿Qué te ha parecido este artículo?

La tua opinione è importante per noi!

Redacción

Artículos relacionados