Skip to main content
Integración Continua

Integración Continua: suministro de Software Industrializado

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (Ninguna valoración todavía)
Cargando…

La Integración Continua pieza clave para lograr un suministro de Software Industrializado

  

¿Qué nivel de Automatización goza el Proceso de Construcción de Software dentro de su Organización?

¿Es un proceso repetible o artesanal?

¿Responde con rapidez a las necesidades?

¿Los desarrollos en curso terminan de manera exitosa?

¿Ofrece la suficiente visibilidad y claridad para realizar una marcha atrás de manera automática?

¿Los equipos de Desarrollo están abiertos a aceptar cambios?

¿Están inventariadas sus piezas de software generadas y las dependencias necesarias para su construcción?

¿Es capaz de detectar el uso de versiones o librerías que no están identificadas dentro de su Organización?

¿Las subidas a Producción son procesos caóticos?

  
Features - Stories - BugsGFI ha detectado en las Organizaciones el lanzamiento de manera paralela iniciativas de Desarrollo que involucran a equipos multidisciplinares. En estas organizaciones existe la carencia de equipos que orquesten y monitoricen las reléases sobre las que se está trabajando. En estos procesos hemos detectado:

  • Que la creación de software se ha convertido en un proceso colaborativo entre los distintos departamentos, pero éstos son organizados en silos cuya colaboración, aparentemente, es secundaria.
  • Los equipos de Calidad no tienen la autonomía suficiente para testear un conjunto de issues de desarrollo en un entorno acotado y siendo independientes de la disponibilidad del departamento de Operaciones. Y además, no pueden ejercer el rol del que son responsables, aseverar que la reléase cumple el estándar definido dentro de la Compañía pues no tienen la visibilidad necesaria del conjunto de dependencias que se están desplegando en entornos productivos.

Continues DeliveryDesde GFI apostamos por equipos Cross a la Organización con filosofía DevOps, cercanos al Desarrollo, dando soporte a Operaciones y a QA para que generen valor añadido consiguiendo que la Organización estandarice este proceso. Nuestra acción parte desde los Departamentos de Arquitectura, Desarrollo, Calidad y Operaciones, deshaciendo estos silos departamentales pues comparten objetivos y necesidades. Tratamos de orquestar este proceso rompiendo barreras culturales y entendiendo cada departamento como cliente y servidor de este proceso.

Nuestra filosofía pasa por reducir el riesgo en cada fase del proceso:

  • Definiendo desarrollos con cambios constantes y pequeños, consiguiendo que adopten prácticas Ágiles.
  • Generando Calidad, pues buscamos la estandarización y el reporte de cada reléase de Desarrollo. Dando al departamento de QA el rol que realmente le corresponde. Nuestra acción consiste en un proceso gradual de adopción de este tipo de prácticas.

Integracion Continua 2Entendemos el proceso de construcción como un Proceso Industrial, basados en la Automatización, Estandarización, Retroalimentación y Revisión. No sólo definimos estas prácticas como áreas de trabajo de Calidad. La calidad es la consecuencia.

La implantación de este proceso genera sinergias entre las que cabe destacar los siguientes valores:

  • Control.- La adopción del cambio se convierte en un proceso natural no traumatizado sobre los equipos. Forma parte del día a día detectar cambios que se acercan a las necesidades sin poner en riesgo el cumplimiento de plazos, compromisos con el cliente y riesgos de reputación.
  • Validación.- El pipeline de entrega de software genera la suficiente visibilidad para que los distintos actores, negocio, calidad puedan aseverar y comparar los distintos resultados que debe generar el software
  • Precisión.- El proceso trabaja para detectar las incoherencias en las fases más tempranas de desarrollo.

En GFI llegamos a la conclusión que el concepto que representa esta idea es la EXTENDED-RELEASE. Como suma de:

  • Un producto software construido, testeado y que cumple los estándares de calidad exigidos.
  • Un entorno configurado e identificado.
  • Un conjunto de modificaciones de base de datos que apoyan los cambios sobre el software.

Industrialización de todo el Ciclo de VidaImplantamos un Ciclo de Vida sobre cada reléase de software:

  • Desarrollo trabaja sobre una extended reléase
  • El negocio puede verificar la entrega de valor
  • Calidad prueba una extended reléase
  • Operaciones despliega una extended reléase en entornos productivos cuando Calidad asegura el correcto funcionamiento.

En la organización están identificadas e inventariadas las reléases previas puestas en producción.

  • Operaciones tiene identificada la versión previa en caso de error.
  • Calidad puede desplegar cualquier reléase sobre el entorno de calidad.
  • Desarrollo tiene identificada la reléase en vuelo:

GFI comienza a analizar el grado de estas prácticas en la Organización mediante un Assessment Valorativo. No considera este proceso como un ON/OFF. Sino como un proceso gradual de Industrialización que vive en permanente cambio, pues siempre identifica puntos de mejora. Aterrizamos este conjunto de prácticas y mejoras en:

  •  Automatización, aquel proceso que se repite y que se efectúa de manera manual es candidato a ser automatizado, reduciendo el riesgo de error por intervención humana. Son desarrollos de software con los que se obtiene automatización e industrialización sobre el mismo software, despliegues automáticos, publicaciones, construcciones. Aquellos procesos dolorosos que generan inestabilidad y que no están correctamente asimilados, son focos de automatización, con lo que el beneficio es inmediato.
  • Metodología de Desarrollo, de manera ágil implantando Scrum en las Organizaciones. Periodos de desarrollo más cortos, fomentando la comunicación y la interlocución con el cliente, llevando a buen puerto las necesidades del Negocio pues el cambio se adopta de manera natural. GFI es capaz de definir Software Delivery, Integración Continua, Análisis Estático de Código, Repositorios de Artefactos y sus políticas, GitFlow o stack de aplicativos para implantar esta filosofía.

Técnicas de desarrollo

  • Arquitectura de Desarrollo, herramientas como Maven o Gradle son el sistema nervioso que articula estas manipulaciones sobre el Artefacto de Software. Obtenemos un beneficio inmediato, los equipos se centran en la implementación de las funcionalidades. Ya no se preocupan de acciones o procedimientos manuales que les consumen gran cantidad de tiempo y riesgo de fracaso.
  • Junto con los equipos de Operaciones trabajamos en la estandarización de los entornos. Esta industrialización la obtenemos con herramientas como Puppet, Hiera, Vagrant.

Integracion continua 5

  • Mediante el servidor de Integración Continua implementamos estos procesos y obtenemos visibilidad sobre la calidad o los despliegues sobre entornos, tanto productivos como no productivos.
  • Base de datos, monitorizando todas las modificaciones con herramientas opensource como Liquibase o Flyaway o también de índole comercial.

Beneficios Clave

Rápidamente, la Organización se beneficia de este conjunto de prácticas:

  • Las peticiones de despliegue en entornos de producción son procedimientos sencillos, no traumáticos y donde no hay cortes de servicio.
  • Los equipos de operaciones tienen identificada la marcha atrás en caso de error.
  • Los equipos de QA, por fin, tienen la potestad de aprobar o rechazar la reléase.
  • Reducimos el time to market pues contamos con un proceso confiable y que se repite, incluso, varias veces a diario.

Para realizar esta misión, en GFI contamos con equipos expertos, capaces de realizar mejoras clave en este conjunto de áreas de trabajo, de manera casi transparente, se incrustan en la organización impulsando este proceso o adaptando el software para construir este pipeline. Conseguimos elevar este proceso obteniendo beneficios de manera instantánea.

 

 

Álvaro Calles Gato

Consultor Senior en Arquitectura. Tecnólogo experto y observador. Fan de las metodologías ágiles. Me muevo con soltura en el diseño de Arquitecturas de Desarrollo, analizándolas, comparándolas e implementándolas. He formado parte de grandes proyectos de desarrollo de software bajo Scrum e Integración Continua. Defensor de las metodologías ágiles para obtener el producto que cubre las necesidades del Cliente. Creo en la Calidad de Software como consecuencia de la aplicación de un conjunto de prácticas y disciplinas.

Álvaro Calles Gato ha escrito 1 entradas


Álvaro Calles Gato

Consultor Senior en Arquitectura. Tecnólogo experto y observador. Fan de las metodologías ágiles. Me muevo con soltura en el diseño de Arquitecturas de Desarrollo, analizándolas, comparándolas e implementándolas. He formado parte de grandes proyectos de desarrollo de software bajo Scrum e Integración Continua. Defensor de las metodologías ágiles para obtener el producto que cubre las necesidades del Cliente. Creo en la Calidad de Software como consecuencia de la aplicación de un conjunto de prácticas y disciplinas.

Un comentario en “Integración Continua: suministro de Software Industrializado

  1. Hola Álvaro,

    Buen artículo. Si basáis vuestro Ecosistema de Desarrollo Software en soluciones opensource, quizás os interese conocer ClinkerHQ.

    Una propuesta para gestionar el ciclo de vida de los proyectos de ingeniería de software basado en soluciones opensource pero resolviendo los problemas que ello implica (integración, soporte, mantenimiento, gestión centralizada de usuarios, control de acceso, etc).

    Un saludo

Deja un comentario

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