[E-book gratis] La matriz de excelencia en la prestación de servicios para equipos de TI y empresariales. Descargar ahora

Gestión de liberaciones simplificada
con 11 mejores prácticas de ITSM

Las mejores prácticas de gestión de liberaciones de TI que se explican aquí se basan en el caso práctico de una mediana empresa de telecomunicaciones. La empresa se enfrentaba a múltiples problemas que le costaron alrededor del 25% de sus clientes y un descenso de su productividad. La razón principal era la falta de un proceso y unos procedimientos eficaces de gestión de liberaciones. Descubra cómo esta empresa mitigó los fallos en las liberaciones y agilizó las liberaciones de software en tres meses.

Resumen

Una mediana empresa de telecomunicaciones perdió alrededor del 25 por ciento de sus clientes en un periodo de tres meses debido a múltiples retrasos en la liberación de software crítico. Estaba claro que el proceso de gestión de liberaciones existente no era eficaz, y la empresa tuvo que solucionar el problema y llegar a un proceso concreto para enmendar las cosas.

La empresa formó un nuevo equipo de gestión de liberaciones para evaluar y optimizar su actual flujo de procesos de gestión de liberaciones. En los tres meses siguientes, el nuevo equipo pudo entregar las versiones pendientes y dos versiones programadas de aplicaciones rediseñadas. A continuación, verá cómo el equipo agilizó su proceso de gestión de liberaciones. Los pasos que siguió el equipo reflejan las mejores prácticas que puede emplear cualquier organización de TI, incluida la suya.

1. Evaluar los procesos de gestión de liberaciones existentes

El nuevo equipo quería tener una visión detallada del flujo actual del proceso de gestión de liberaciones. Empezaron con varias sesiones de orientación con personas clave implicadas en el proceso del software. En estas sesiones, el equipo se enteró de que la liberación del software de CRM estaba pendiente desde hacía dos meses tras su finalización.

Según los requisitos del cliente, el software CRM incluía la liquidación de reclamaciones. También incluía créditos de servicio y penalizaciones para los clientes de telecomunicaciones que enfrentaban problemas de inactividad, degradación del servicio y transferencia de un nuevo plan de facturación. El retraso en la implementación del software de CRM hizo que varios de los clientes no pudieran obtener sus créditos de servicio o reembolsos a tiempo, y que no hubiera un sistema de seguimiento para conocer el estado de las solicitudes. Alrededor del 25 por ciento de los clientes minoristas perdieron la paciencia con el sistema y se marcharon.

En el proceso existente, los puntos de contacto, la validación y el proceso de verificación no eran fluidos debido a la adquisición de hardware, el entorno de pruebas y la falta de un ciclo de liberación acordado.

it release management process flow diagram framework

2. Consolidar las evaluaciones de la gestión de liberaciones existente

  • Los ciclos de liberación eran aleatorios, en lugar de estructurar y acordar la ventana y la frecuencia de liberación.
  • Los entornos de prueba no estaban actualizados ni disponibles cuando se solicitaban.
  • En muchos casos, las pruebas de regresión duraban más de tres meses y se abandonaban en muchas implementaciones.
  • No existían procesos de control de cambios integrados con la gestión de liberaciones y configuraciones.
  • La moral general de los equipos estaba por el suelo, debido al elevado número de liberaciones fallidas y retrasadas.

3. Optimizar los nuevos sistemas de gestión de liberaciones

Para abordar esta situación, el nuevo equipo de gestión de liberaciones siguió los siguientes consejos
para corregir el rumbo:

  • Determinar y establecer ciclos de liberación aprobados.
  • Simplificar el proceso y hacer pruebas con antelación.
  • Controlar la infraestructura usando un sistema de gestión de configuraciones (CMS).
  • Optimizar el proceso de control de cambios y automatización.
  • Construir el triángulo mágico (procesos integrados de configuración, cambio, liberación e implementación).
  • Tener en cuenta las mediciones y métricas.
  • Impartir un taller de capacitación y sensibilización.

4. Establecer el ciclo de vida de la gestión de liberaciones

Una vez que el equipo se hizo una idea del estado actual del proceso de gestión de liberaciones, decidió centrarse en definir y establecer un ciclo de liberaciones acordado. Para conocer la frecuencia de liberación en producción, el equipo tuvo que determinar la frecuencia de las pruebas no funcionales. Después de consultar con los equipos de ingeniería, se llegó a la conclusión de que el proyecto requería pruebas de regresión, rendimiento e integración.

Se desarrolló el ciclo de liberación para lograr lo siguiente:

  • Crear una oportunidad para discutir de forma significativa cualquier prueba no funcional que pueda necesitar el software.
  • Establecer un calendario para informar a las partes interesadas sobre la fecha prevista de liberación de una característica o funcionalidad.
  • Establecer una rutina con la que puedan alinearse todos los equipos (incluidos los de marketing e ingeniería).
  • Garantizar a los clientes que sus pedidos serán de buena calidad y se entregarán dentro del plazo acordado.

El equipo de gestión de liberaciones empezó experimentando con un ciclo semanal, pero el plan resultó inviable. El entorno de bases de datos del cliente no podía actualizarse rápidamente. Entonces, el equipo probó con ciclos de dos semanas. No hubo objeciones inmediatas por parte de los participantes, pero el ciclo de dos semanas fracasó las dos primeras veces. Una vez se superaron algunos cuellos de botella en el entorno y automatizaron algunas de las pruebas, el equipo decidió que el ciclo de dos semanas era factible.

Por último, el equipo estableció un ciclo según el que, cada dos semanas, el código "listo para producción" del equipo de ingeniería se puso a prueba en el sistema. Dos semanas después, el código se puso en producción.

El ciclo de liberación no tenía que ver con el momento en que el cliente quería la liberación. Se trataba de cuándo el equipo podía lanzarlo al mercado con el nivel de calidad deseado. Sin embargo, cuando el equipo involucró a los clientes y los convirtió en los responsables de la toma de decisiones, ¡los clientes empezaron a apoyarlo!

5. Simplificar con procesos ligeros para agilizar las liberaciones

Los procesos ligeros son aquellos que no requieren largas aprobaciones burocráticas ni reuniones interminables para llegar a un acuerdo. Normalmente, sólo requieren el nivel mínimo aceptable de entrada y salida. Lo que les falta de volumen y burocracia lo compensan con su capacidad de respuesta al cambio y su adopción popular.

Sin embargo, la base de este planteamiento era la compleja documentación. El equipo necesitaba registrar lo que se hacía y cómo se hacía. De lo contrario, sería imposible revisar o mejorar la situación.

6. Documentación y herramientas para la gestión de liberaciones

La empresa decidió adoptar una norma de documentación que permitiera a las personas (técnicos y otros) leer los documentos y actuar respectivamente, en lugar de dejar que los documentos permanecieran guardados.

El equipo de ingenieros eligió Confluence, una herramienta comercial, para documentar su trabajo de forma colaborativa. Utilizaron el software para crear una documentación mínima pero eficaz de lo que acordaron hacer en cada ciclo de trabajo. Registraban lo que hacían, cómo lo hacían y qué se necesitaba para que funcionara. El nuevo equipo vio el valor de este enfoque y lo extendió (tanto el enfoque como la herramienta) a todos los demás implicados en el proceso.

A continuación se creó una secuencia de tareas para entregar el software de los equipos de ingeniería. La lista de tareas incluía:

  • Garantizar la entrega, directamente desde el sistema de gestión de control de versiones.
  • Especificar la nomenclatura y definir cómo se ejecutará cada elemento (código ejecutable, scripts de base de datos, etc.) y en qué plataformas.
  • Se realizó un simulacro utilizando un código ficticio para cada elemento. La secuencia se probó mientras se documentaba lo que hacía el equipo y cómo lo hacía. Esto constituyó la base de las instrucciones de instalación.
  • A continuación, los encargados de implementar la liberación real realizaron otro simulacro utilizando únicamente la documentación creada por el equipo.
  • Los participantes ampliaron, modificaron y mejoraron las instrucciones del equipo. El proceso se hizo más inclusivo y todos contribuyeron a la documentación. Al participar en la definición, el proceso se adoptó más ampliamente y con mayor calidad.
  • Después de cada liberación, el equipo revisaba el proceso, examinaba la documentación e identificaba los cambios realizados durante la liberación. También analizaba cómo mejorar la documentación e introducía las mejoras en el proceso.

7. Establecer una infraestructura controlada con un CMS (gestión de liberaciones, cambios y configuraciones)

El alcance

Una infraestructura de liberación garantiza que todo esté listo para implementar el software y permitir su uso. El equipo de gestión de liberaciones se tomó su tiempo para desarrollar un sistema de gestión de configuraciones (CMS) y empezó por crear la estructura de árbol y la jerarquía de los elementos de configuración (CI).

Software release, change and configuration management

Evaluación del proceso de gestión de configuraciones

IT release and deployment management activities and checklist

Taller de herramientas y descubrimiento

El equipo organizó talleres con los equipos de infraestructura, desarrollo de software de aplicación y gestión para decidir los procesos de configuración, cambio y liberación. A continuación se muestra el flujo conceptual acordado, desde la perspectiva de la herramienta.

IT web application release and deployment management process

8. Crear una infraestructura de gestión de liberaciones
(Optimizar el proceso de control de cambios y automatización)

La infraestructura de liberación abarcaba el hardware, el almacenamiento, las conexiones de red, el ancho de banda, las licencias de software, los perfiles de usuario y los permisos de acceso. Las competencias y los servicios humanos también formaban parte de la infraestructura de liberación. Por ejemplo, si había que instalar y configurar un software especializado, debían incluir la disponibilidad o el costo de conseguir esas competencias en el plan de infraestructura.

Es fundamental descubrir cualquier cuello de botella oculto en la adquisición del hardware necesario o las competencias que faltan (por ejemplo, configuración de redes seguras). El equipo tenía que resolver estos problemas antes de la entrega.

Sin embargo, no fue fácil lograrlo. El equipo se esforzó por disponer de la infraestructura de liberación nada más empezó el proyecto. Sin embargo, incluso después de seis semanas de anticipo, seguían esperando la memoria y los discos duros especializados para los servidores de prueba.

Identificación de tareas de automatización

El equipo identificó las tareas de creación y prueba que se podían automatizar, y estableció los criterios y definiciones de cambios normales, estándar y de emergencia. La automatización les permitió realizar tareas repetitivas sin consumir valiosos recursos humanos. También clasificaron una serie de cambios estándar en función del riesgo, la repetibilidad y el tiempo de ejecución.

Los cambios se agruparon para ajustarlos al ciclo de liberación de dos semanas. Los equipos de cambios trabajaron con los equipos de liberación e implementación para sincronizar con el calendario de liberación, los tipos de liberación y el apoyo al inicio del ciclo de vida.

Paquete manual versus automatizado

Antes de participar en el proyecto, los equipos de ingeniería elaboraban manualmente los paquetes implementables. Por ello, no se garantizaba que cada nuevo paquete fuera igual que el anterior. De hecho, ni siquiera se garantizaba que fuera el software que habían estado creando, ¡y mucho menos que funcionara! A menudo, el personal técnico tardaba días en crear un paquete con las características requeridas, en una estructura que pudiera implementarse.

Aceptación y verificación del servicio

El equipo de gestión de liberaciones elaboró inmediatamente una estructura y unos criterios de aceptación del servicio para el paquete implementable que el equipo de ingeniería estaba entregando, y les ayudó a estandarizar el paquete. Esto desencadenó la implementación de procesos automatizados para construir el software en esa estructura coherente para cada punto de liberación.

Como el equipo había automatizado el proceso de verificación de los criterios de aceptación, la ejecución estaba garantizada. Por ejemplo, el código debía someterse a pruebas unitarias antes de la entrega y a pruebas de implementación para garantizar que así fuera. Como resultado, el equipo de gestión de liberaciones pudo empaquetar, versionar, probar e implementar el código terminado con un solo comando, en muy poco tiempo.

La nueva norma de los ciclos de liberación

El ciclo de liberación recién establecido obligaba a probar la regresión, el rendimiento y la integración de una liberación en sólo dos semanas, para que el equipo pudiera ponerla en producción. El equipo pudo superar los distintos tipos de pruebas (integración y rendimiento) disponiendo de entornos separados para cada tipo. Sin embargo, el reto de acomodar dos meses de pruebas de regresión en un plazo de dos semanas parecía imposible. Así es cómo lo hicieron.

  • En primer lugar, el equipo inició un ejercicio de priorización. El cliente identificó las pruebas de regresión de alta prioridad, que era lo mínimo que se aceptaría como prueba de que la antigua funcionalidad existía.
  • A continuación, el equipo empezó a automatizar estas pruebas. Las pruebas de aceptación posteriores también se automatizaron para garantizar que el equipo pudiera realizar pruebas de regresión de cada liberación en cuestión de horas, en lugar de días.

9. Construir el triángulo mágico
(procesos integrados de configuración, cambio, liberación e implementación)

Aunque la gestión de configuraciones, el proceso de control de cambios y los procesos de gestión de liberaciones e implementaciones se integraron a la perfección, todo el proceso requirió el vértice de las personas para que fuera posible.

IT release management implementation plan

Roles y responsabilidades del equipo de gestión de liberaciones

El equipo de gestión de liberaciones respaldó esta importancia estableciendo que el gestor de liberaciones designado esperaría que el software estuviera listo en el momento acordado por los equipos. El equipo acordó que el gestor del programa (en este caso, el cliente usuario final) explicaría a los equipos por qué era importante la liberación.

El equipo pidió a los equipos de ingeniería que se aseguraran de que el software que entregaban se ajustara al estándar (versionado, probado, documentado y empaquetado). El equipo también estableció que solicitarían este paquete estándar para cada ciclo de liberación. De este modo, el proceso automatizado resultaba más sencillo y coherente, y permitía integrar la retroalimentación.

10. 9 métricas clave para la gestión de liberaciones

Las siguientes métricas de gestión de liberaciones se midieron continuamente para ajustar el proceso de gestión de liberaciones.

  • Número de cambios pendientes de futuras liberaciones del sistema (retraso).
  • Número de cambios realizados con éxito en una liberación.
  • Número de cambios fallidos en una liberación (porcentaje de cambios fallidos).
  • Número de interrupciones causadas por una liberación.
  • Número de incidentes causados por la liberación.
  • Porcentaje de liberaciones de software entregadas a tiempo para la prueba de control de calidad.
  • Porcentaje de liberaciones de software entregadas a tiempo para producción.
  • Porcentaje de liberaciones por prioridad o tipo.
  • Tiempo total de inactividad de las liberaciones, en horas.

Resumen de las métricas registradas, desde agosto de 2014 <ETH> Febrero de 2015

IT release management metrics

El poder está en invertir en las personas

Durante toda la transformación, el mayor activo fueron las personas. El equipo de gestión de liberaciones asumió sus perspectivas, problemas y retos de forma justa y transparente, e informó a la dirección al respecto. Incluso incluyeron a algunos de los primeros en adoptar el cambio como agentes de cambio. Invirtieron mucho en formación, concienciación y comunicación, e instituyeron un mecanismo de recompensa para reconocer el comportamiento positivo y el intercambio de conocimientos.

11. Taller de formación y concienciación para los equipos de gestión de liberaciones, configuraciones y cambios

Los siguientes talleres se impartieron a los equipos de gestión de liberaciones, configuraciones y cambios, sin excepción. Los directores de línea también estuvieron disponibles para validar la eficacia de los talleres.

  • Taller sobre fundamentos de la gestión de liberaciones (un día).
  • Taller sobre fundamentos de DevOps (dos días).
  • Taller sobre métricas y medición (un día).
  • Taller sobre acciones de liberación e implementación, incluidos roles, responsabilidades, plazos y entregables (un día).

El resultado del taller de cinco días fue una mayor claridad para los equipos implicados sobre los distintos puntos de contacto, los entregables y el impacto general en la empresa. Se distribuyó una hoja de consejos rápidos para resumir los puntos clave de la capacitación.

Lecciones aprendidas

 

  • La gestión de los cambios organizacionales fue fundamental para conseguir que todos los equipos trabajaran con una visión y unos objetivos compartidos que permitieran alcanzar los resultados empresariales definidos.
  • La decisión de la disponibilidad de la liberación debía basarse en el producto o la aplicación, incluso más que en las necesidades de urgencia del cliente usuario final.
  • Criterios realistas del ciclo de liberación, consensuados con las partes interesadas.
  • Integración de procesos y herramientas (incluidas las necesidades del usuario final) alineados con los procesos de gestión de configuraciones, cambios, liberaciones e implementaciones.
Conclusión

Con base en la experiencia que tuvo el equipo de gestión de liberaciones al trabajar con otras personas en el proyecto, se dieron cuenta de que una buena gestión de liberaciones requiere trabajo duro, determinación y una gran comunicación. Sin embargo, la principal habilidad adquirida es la capacidad de revisar, aprender y adaptar mejoras con la colaboración eficaz de las personas junto con los procesos de gestión de configuraciones, cambios e implementaciones del triángulo mágico.

Implemente liberaciones con más transparencia y menos riesgos.

 

Con la confianza de las mejores organizaciones del mundo

Brindemos un mejor soporte juntos, más rápido y más fácil