sábado, 4 de mayo de 2019

¿Cómo hacer una implantación DevOps?

Preparando una implantación DevOps
DevOps es un acrónimo inglés compuesto de development (desarrollo) y operations (operaciones), que se refiere a una práctica de ingeniería de software enfocada en primera instancia en una cultura de colaboración e integración entre los desarrolladores de software y los profesionales de sistemas. Los primeros, los equipos de desarrollo ágil, viven en el cambio continuo, mientras que los segundos velan por la estabilidad y la expansión de servicios existentes, un claro conflicto de intereses. Para la entrega de software de valor a demanda del mercado ambas partes han de comprender que es necesaria la colaboración junto con un sentimiento de responsabilidad compartida.

En segunda instancia DevOps impulsa la automatización y el monitoreo en todos los pasos del flujo de construcción del software; desde la hipótesis de nuevas funcionalidades, la integración, el despliegue, el lanzamiento al mercado y posterior monitoreo de software para el aprendizaje sobre la hipótesis inicial. DevOps apunta a ciclos de desarrollo muy cortos con lotes de funcionalidades pequeños, alta frecuencia de implementación y lanzamientos más confiables que están en estrecho alineamiento con los objetivos de negocio de la compañía.

En el mundo VUCA actual la Agilidad no es una opción, esta hace que las compañías sean competitivas, por lo que se ha convertido en un imperativo de negocio. A su vez DevOps no es una opción, ya que sino la Agilidad no sería posible, no podemos ser competitivos sin los ciclos muy cortos de entrega de valor que posibilita DevOps.

La mayoría de compañías, por no decir todas, ya practican DevOps en alguna de sus facetas, la cuestión es cuan eficientes son. ¿Quién no tiene ya algunas pruebas automatizadas?, ¿quién no tiene un Jenkins rodando?...

DevOps Health Radar de SAFe
con la situación actual de una compañía
El radar DevOps de SAFe® tiene 4 dimensiones con un total de 16 subdimensiones. Cada subdimensión tiene 5 niveles, donde el 1 significa que todo se hace manualmente y 5 representa la máxima madurez DevOps. Hay técnicas, prácticas y herramientas que nos permiten pasar de un nivel a un nivel superior, por tanto el radar proporciona un total de 64 (4 posibles saltos por 16 subdimensiones) oportunidades y soluciones de mejora para nuestra aplicación de DevOps.

Una implantación de DevOps parte de encontrar la situación actual de la compañía averiguando cual es el nivel de cada una de las subdimensiones. SAFe proporciona la descripción de cada una de las coordenadas subdimensión/nivel del radar. En un taller a tal efecto, las personas de las áreas, los responsables y los equipos de desarrollo que participen en el flujo de construcción de software, conocido en SAFe como la Continuous Delivery Pipleline, identifican y representan la situación actual en el radar.

Seguidamente se representa el flujo de construcción mediante un Value Stream Mapping; se identifican todos los pasos desde que se concibe una funcionalidad hasta que es usada por usuario finales, se miden los tiempos de servicio (que miden el tiempo de puro trabajo en cada estado) y tiempos de entrega (que incluyen la espera entre estados) y el % de trabajo que pasa limpio y sin incidencias al siguiente estado. El mapa nos mostrará donde tenemos oportunidades de mejora en los puntos con los mayores retrasos o de más retrabajo. Basta con buscar la subdimensión afectada en el radar y decidirse por una de las prácticas, técnicas o herramientas que propone.

El mapa obtenido es un artefacto vivo, podemos implantar DevOps de forma paulatina actualizando el mapa de forma periódica para implantar mejoras. Se basa al igual que la Agilidad en un sistema de mejora continua que puede llevar años para su madurez, pero con el beneficio de la obtención de mejoras de forma muy rápida.
Value Stream Mapping del flujo DevOps actual para buscar mejoras en el radar
Si a alguien le interesara aprender sobre el radar de DevOps y como hacer el taller de Value Stream Mapping le quiero invitar a apuntarse a uno de los cursos de SAFe DevOps Practitioner (SDP) que hacemos en Estratecno. Es un curso/taller ideal para las áreas de sistemas cuyo objetivo debería de ser habilitadores para que los equipos ágiles sean más rápidos.

SAFe and Scaled Agile Framework are registered trademarks of Scaled Agile, Inc.

No hay comentarios:

Publicar un comentario