Artículo

El mapa de flujo de valor en DevSecOps

Publicado: octubre 27, 2020

El ritmo de transformación de las empresas ha evolucionado con rapidez. Se trata de fabricar productos y servicios sin defectos que cumplan las expectativas de calidad, fiabilidad y estabilidad de los clientes a un ritmo relativamente más rápido que el de los competidores. Esto exige que los equipos de desarrollo, de pruebas y operaciones trabajen al unísono, produciendo códigos a un ritmo significativamente más rápido que antes. 

El manifiesto de agilidad y DevSecOps reduce los plazos de desarrollo al dividir el ciclo en fragmentos más eficientes, lo que permite un tiempo más rápido de comercialización y acelera las operaciones de fiabilidad del sitio a través de la automatización. La metodología ágil es bien conocida por la velocidad a la que se pueden lanzar nuevas funciones. Sin embargo, Facebook y Google lanzan funciones casi todos los días y a veces varias veces al día, dependiendo del peso de las funciones que se entreguen. 

Sus conceptos van más allá de los sprints y son el epítome de la velocidad de comercialización. Este código significativamente más corto para el despliegue es el resultado de la automatización en varias etapas del ciclo de vida de desarrollo y pruebas.

El mapa de flujo de valor, aplicado a DevSecOps

Existen varias oportunidades de automatizar los procesos en las fases de desarrollo y operaciones. El reto consiste en encontrar la más oportuna. Los gestores de proyectos y operaciones deben identificar las palancas adecuadas que mejoren el retorno de la inversión sin comprometer los aspectos de calidad, seguridad y fiabilidad del sitio. Deben identificar focos de actividad que aporten valor al resultado previsto de los lanzamientos más rápidos y operaciones aceleradas sin comprometer otros factores. Estos focos de mejora se denominan flujos de valor y su optimización permitirá mejorar la eficacia de la automatización del ciclo de vida del producto. 

El extenso ejercicio de entrevistar a las partes interesadas y examinar los datos en cuatro grandes categorías, a saber, técnica, proceso, medición y cultura, en función del alcance de la mejora, se denomina mapa de flujo de valor (VSM). El VSM en DevSecOps ofrece a los equipos una herramienta visual para medir y seguir la actividad más importante (flujo) para el resultado deseado (valor).

Ventajas del mapa de flujo de valor:

  • Identificar los cuellos de botella y los puntos débiles
  • Supervisar y gestionar los errores y defectos
  • Mayor visibilidad de todo el proceso
  • Mayor colaboración entre equipos
  • Ciclos de retroalimentación más rápidos e integrados
  • Mejor contexto y claridad de los KPI

Dado que las empresas prefieren el enfoque ágil y DevSecOps en lugar del enfoque en cascada (Waterfall), todo el proceso debe llevarse a cabo como una iniciativa de gestión del cambio. En este sentido, es esencial identificar los flujos de valor adecuados en los tres niveles de cambio: equipo, producto y cartera. 

La mayoría de los proyectos se equivocan en la evaluación de los flujos de valor porque se hace de forma no estructurada, dejándose llevar por el instinto de los miembros del equipo. Los mapas de flujo de valor deben derivarse en función del valor que añaden al resultado empresarial deseado (o previsto) .La forma correcta, la que maximiza los resultados, es abordar el mapa de flujo de valor de forma estructurada. Un ejercicio intenso que obtiene información basada en datos y la combina con información cualitativa.

Algunas preguntas clave que pueden ayudar a los equipos a producir evaluaciones precisas del flujo de valor son:

  1. ¿Cómo se aplican las metodologías ágiles en las áreas de práctica? ¿Qué grado de sintonía existe entre el desarrollo y el desarrollo dirigido por pruebas? ¿Cuál es la madurez en la adopción de prácticas tecnológicas como low code / no code?

  2. ¿Se siguen los principios de la ingeniería de calidad? ¿Los desarrolladores siguen las normas? ¿Cumplen las normas de calidad? ¿Se cumplen las normas de diseño?

  3. Desde el punto de vista de DevSecOps, ¿cómo se ejecutan los ciclos de lanzamiento? ¿Qué parte de este proceso está automatizada para permitir un procesamiento directo?

  4. Desde el punto de vista de la fiabilidad del sitio, ¿se ha automatizado el proceso de gestión de incidentes y se han incorporado los comentarios para mejorar la ingeniería?

  5. La insatisfacción del cliente no tiene por qué deberse a la calidad de las funciones, sino también a la calidad de la infraestructura. En este caso, ¿cómo se gestionan las funciones en la producción posterior al lanzamiento?

  6. ¿Cómo se construye la arquitectura de las aplicación? ¿Son escalables, tienen conexión directa para permitir el “plug and play”? ¿En este supuesto, hay una apuesta por microservicios como Kubernetes?

Las respuestas a estas preguntas clave constituyen la información estratégica para evaluar el estado actual. El siguiente paso consiste en analizar los flujos de valor con estos datos en el punto de mira. Desde el punto de vista cualitativo, el análisis debe centrarse en los artefactos actuales del proyecto, el diseño del proceso, los procedimientos operativos estándar, los acuerdos de nivel de servicio, las herramientas, etc., junto con el ajuste cultural y la capacidad de asimilar el cambio.

El análisis cuantitativo utiliza métricas basadas en los datos del proceso. Para los equipos que no están seguros de los datos que deben analizar, DevOps Research and Assessment (DORA) recomienda medir la frecuencia de despliegue (DF), el tiempo medio de espera para los cambios (MLT), el tiempo medio de recuperación (MTTR) y la tasa de fracaso de los cambios (CFR). Cada métrica tiene un valor y puede utilizarse para determinar el grado de éxito de una empresa en DevOps, que va desde la élite hasta el bajo rendimiento.

Value stream mapping in DevSecOps

Industry is rapidly ‘Crossing the Chasm’
3 fold increase in “Elite” performance level

Aspect of Software Delivery Performance Elite High Medium Low
Deployment frequencies
(How frequent the team deploys the code)
On demand
(multiple deploys per day)
Daily
(once per day)
Weekly
(once per week)
Monthly
(once per month)
Lead time for changes
(the time it takes to go from code committed to code successfully running in production)
< 1 hour 1 day - 1 week 1 week - 1 month 1 - 6 months
Time to restore service
(average time it takes to restore service)
< 1 hour < 1 day < 1 day 1 week - 1 month
Change failure rate
(how often deployment failures occur in production that require immediate remedy)
0-15% 0-15% 0-15% 46-60%

Sin embargo, se trata de matrices de resultados y no son las más favorables si lo que se busca es precisión en el mapa de flujos de valor actuales. Las métricas de los resultados se comunican periódicamente: de forma mensual o trimestral. Sin embargo, si DevSecOps necesita ofrecer un mayor retorno de la inversión, el mapa de flujo de valor tiene que incluir métricas de rendimiento en tiempo real durante el proceso. Por ejemplo, la eficiencia del ciclo del proceso (PCE), una métrica que ayuda a los equipos a identificar los tiempos de valor añadido y los tiempos sin valor añadido en un ciclo de lanzamiento.

Después de mapear el estado actual, los equipos tienen que identificar los flujos que

  1. Generan más velocidad hacia el objetivo previsto y

  2. Generan más despilfarro: el despilfarro en la preproducción y la posproducción suele consistir en defectos, incidencias de producción, trabajo, errores, tiempo de espera, equipos infrautilizados, inventario, procesamiento extra y traspasos

Una vez identificado el despilfarro, el equipo se queda con los flujos de valor más rentables, focos de excelencia en los que puede centrarse. A estos casos se les puede aplicar una automatización específica para agilizar los resultados.

 

Conclusión

El mapa de flujo de valor es un proceso repetitivo que las empresas deben llevar a cabo regularmente. Se trata de un espíritu de mejora continua que ayuda a las empresas a ofrecer productos de alta calidad con mayor rendimiento, seguridad y estabilidad, creando así valor para los clientes.

 

Contenido relacionado