Cómo hacer un Value Stream Mapping con un ejemplo real de desarrollo de software

Cómo hacer un value stream mapping paso a paso

Cómo hacer un Value Stream Mapping con un ejemplo real de desarrollo de software

En este artículo te mostramos paso a paso cómo hacer un Value Stream Mapping (VSM) aplicado al desarrollo de software. Para ello, utilizaremos un ejemplo real en el que observaremos, mediremos, analizaremos, entenderemos y mejoraremos el proceso de desarrollo de una aplicación representando un mapa de flujo de valor.

Si prefieres ver esta guía en vídeo, al final del artículo te compartimos el webinar completo en el que te mostramos cómo implementar un VSM paso a paso para el caso que nos atañe.

¿Qué es un VSM?

Un Value Stream Mapping (VSM) o Mapa de Flujo de Valor es una herramienta visual que sirve para conocer y mejorar un proceso de producción. Enmarcada dentro de Lean, tradicionalmente se utilizaba en el ámbito de la industria. No obstante, tiene muchas más aplicaciones. Como veremos en nuestro ejemplo, puede ser de gran utilidad para optimizar nuestros procesos de desarrollo de software.

Antes de adentrarnos en cómo mapear el flujo de valor debemos entender qué es exactamente el flujo de valor. Consiste en una serie de pasos o tareas para entregar a los usuarios un producto (de software en este caso) que satisfaga sus necesidades o deseos.

Un mapa de flujo de valor es la herramienta que nos ayuda a comprender mejor todos estos pasos. Nos permite tener una visión completa de nuestro proceso, detectar qué pasos aportan valor y cuáles no y localizar áreas donde podemos implementar mejoras.

Como veremos, el Value Stream Mapping no es una práctica que debamos hacer sólo una vez, sino que debemos iterar en ella. Repetirla para seguir optimizando nuestro proceso, dentro del flujo de la mejora continua.

Si quieres conocer más sobre VSM, te recomendamos que leas este artículo, en el que te contamos con todo detalle en qué consiste un mapa de flujo de valor y cómo puede ayudarte.

Fases del Value Stream Mapping

Al poner en práctica la técnica del Value Stream Mapping vamos a trabajar con tres versiones de mapas:

  • Value Stream Mapping «hipotético». Cómo pensamos que es nuestro proceso. Antes de tener nuestro mapa del proceso real, las personas involucradas discuten cómo creen que es el proceso.
  • Value Stream Mapping actual. Representación visual fiel de cómo es nuestro proceso. Es a lo que propiamente nos referimos cuando hablamos de un mapa de flujo de valor.
  • Value Stream Mapping del estado futuro o ideal. Cómo nos gustaría que fuera nuestro proceso. El estado objetivo que queremos alcanzar en nuestro proceso. Como veremos, es fundamental que sepamos a dónde queremos ir (cuáles son los objetivos de la empresa) a la hora de medir y analizar nuestro proceso y posteriormente elaborar un plan de acciones para mejorarlo.

¿Cómo se hace un Value Stream Mapping?

Para crear un Mapa de Flujo de Valor debemos de seguir los siguientes pasos:

  • Definir el proceso a mapear
  • Identificar las tareas y personas involucradas en el proceso
  • Medir con métricas relevantes para el negocio
  • Localizar áreas de mejora en nuestro proceso
  • Representar el mapa ideal que trataremos de alcanzar
  • Diseñar e implementar un plan de acciones para conseguirlo
  • Hacer seguimiento de estas acciones y repetir el proceso para mejorar continuamente

A continuación, vamos a seguir cada uno de estos pasos y representar nuestro Mapa de Flujo de Valor del proceso de desarrollo de una aplicación de software.

Ejemplo de cómo hacer un Value Stream Mapping aplicado al desarrollo de software

1. Definir el proceso a mapear

Lo primero que debemos hacer es delimitar el proceso que vamos a mapear y reflejarlo de forma explícita. En nuestro caso, analizaremos la entrega de software al usuario final, desde que nace la necesidad (paso 0) hasta que llega a las manos del usuario. El objetivo de este primer paso es dejar claro en qué proceso vamos a trabajar, qué vamos a mejorar, dónde vamos a poner el foco.

En nuestro ejemplo detectamos las siguientes fases del proceso:

Identificar las fases del proceso a mapear en un VSM
Identificar las fases del proceso a mapear en un VSM.

Podemos aplicar la práctica del Value Stream Mapping a todo el proceso completo (como en nuestro ejemplo) o a una parte del mismo. Por ejemplo, en lugar de estudiar qué pasa desde que se detecta una necesidad hasta que se entrega el software a los usuarios, centrarnos en la primera parte hasta que se comienza el desarrollo.

Incluso se puede adoptar un enfoque incremental, en el que empecemos analizando una acción concreta del proceso. Por ejemplo, el despliegue en un entorno no productivo. Y, cuando la hayamos optimizado, ir ampliando el análisis a las dos acciones que se producen antes y después. Todo depende de los objetivos que persigamos.

2. Identificar las tareas y personas involucradas

En este paso, identificamos a las personas involucradas en cada una de las fases que hemos localizado en nuestro proceso. Esto va a generar debates interesantes. Puede que detectemos que hay tareas que no está realizando nadie o que hay personas que no están participando en tareas que deberían.

En nuestro ejemplo de desarrollo de software hemos identificado tres equipos con sus integrantes:

  • Equipo de desarrollo: Susana, Manuel, Ainhoa, Israel y Paloma.
  • Product Owner: Macarena.
  • Stakeholders: Alicia y Alfonso.

Una vez identificados los participantes, representamos quién hace qué en cada etapa del proceso. El resultado sería el siguiente esquema:

Localizar las personas encargadas de cada fase del proceso a mapear.
Localizar las personas encargadas de cada fase del proceso a mapear.

3. Medir con métricas relevantes para el negocio

Llega el momento de conocer cómo es nuestro proceso midiendo con métricas relevantes para los objetivos de la organización. En nuestro ejemplo, como queremos reducir el tiempo que tardamos en entregar el software a los usuarios, nos interesa conocer el Lead Time (tiempo que empleamos en realizar una tarea desde que se plantea) de cada una de las fases que hemos identificado.

Y, a partir de estas medidas de cada fase, conocer el Lead Time total del proceso (tiempo que se tarda en entregar una necesidad desde que surge) y el Workflow Efficiency (% que una tarea está en estados productivos) del proceso completo:

  • Lead Time: 15 días
  • Workflow Efficiency: 80 %

Nuestro mapa de flujo de valor quedaría así:

Ejemplo de Value Stream Mapping aplicado al desarrollo de software
Ejemplo de Value Stream Mapping aplicado al desarrollo de software.

Cómo medir nuestro proceso de desarrollo de software

Para obtener esta información fundamental, hemos utilizado SENTRIO. Es una plataforma de Value Stream Management que se conecta a todas las herramientas que utilizamos en nuestro día a día (Jenkins, Jira, Kiuwan, SonarQube…) y nos ofrece una visión completa y en tiempo real de nuestro proceso.

En concreto, dispone de dos paneles dedicados a monitorizar el Lead Time y el Workflow Efficiency. Lo que nos facilita enormemente tener controladas estas métricas en todo momento. En nuestro caso, nos son de gran utilizar para conocer la situación actual, que reflejamos en nuestro mapa, y para monitorear después las acciones que implementemos y ver si están funcionando o no.

Panel de SENTRIO para conocer el Lead Time de nuestro proyecto
Dashboard de SENTRIO para conocer el Lead Time y el Workflow Efficiency.

Si quieres conocer en más detalle cómo funciona SENTRIO y cómo podría ayudarte en tus proyectos, te animamos a solicitar una demo gratuita.

4. Localizar áreas de mejora en nuestro proceso

Una vez que tenemos las métricas, podemos analizar la situación de nuestro proceso y detectar aquellas áreas que podríamos mejorar para alcanzar nuestros objetivos. En nuestro caso, hemos detectado los siguientes problemas:

  • Dedicamos demasiado tiempo a realizar el despliegue en un entorno no productivo (4 días), cuando el despliegue en producción nos lleva la mitad de tiempo (2). La causa es que lo hacemos de forma manual.
  • Aunque tardamos menos tiempo en llevar a cabo el despliegue en producción, sigue siendo mucho tiempo en comparación con el que dedicamos a otras fases del proceso (2 días). Vemos que el proceso está medio automatizado.
  • Empleamos el doble de tiempo en analizar el feedback de los usuarios (2 días) que en recogerlo e incorporarlo en el Backlog.
Áreas de mejora en nuestro proceso
Áreas de mejora en nuestro proceso.

5. Representar el mapa ideal

En este punto, conocemos perfectamente cómo es el proceso, pero queremos mejorarlo siguiendo los objetivos de la organización. En nuestro ejemplo de desarrollo de software, la empresa quiere reducir un tercio el time to market de nuestro software.

Por lo que, siguiendo nuestro mapa, nos gustaría reducir el Lead Time total del proceso un 33% (de 15 a 10 días). Y hacerlo sin que esto afecte negativamente a la eficiencia de flujo de trabajo (80%).

Value Stream Mapping del estado futuro
Value Stream Mapping del estado futuro.

¿Y cómo lo conseguimos? Diseñando un plan de acciones.

6. Diseñar e implementar un plan de acciones

Para reducir un tercio el tiempo de entrega de nuestro software tenemos que establecer un plan de acciones. Partiendo del análisis que hemos realizado y de las áreas de mejora que hemos identificado, planificamos las siguientes acciones:

  • Automatizar los despliegues en un entorno no productivo y en producción utilizando la herramienta Jenkins, para que realizar los despliegues conlleven un día de tiempo.
  • Reducir el tiempo que dedicamos a analizar el feedback de los usuarios a la mitad incorporando a una persona del equipo de desarrollo en las reuniones de análisis.

7. Hacer seguimiento y repetir el proceso

El proceso no termina con la implementación del plan de acciones. Debemos ir midiendo los resultados que vamos obteniendo periódicamente (en función de nuestras necesidades). En caso de que las cosas no vayan bien, siempre podremos volver al estado inicial en que nos encontrábamos. Al final, se trata de llevar a cabo experimentos para optimizar el proceso.

Además de monitorear las acciones, debemos iterar nuestro Value Stream Mapping para seguir progresando. Si conseguimos nuestro mapa ideal (entregar software en 10 días), este estado se convertirá en nuestro mapa actual. Deberemos analizar de nuevo el proceso, localizar áreas de mejora y poner el foco en nuevos objetivos. Así, el proceso se repite dentro del flujo de la mejora continua.

Vídeo de cómo implementar un VSM paso a paso

Si prefieres seguir estos pasos a través de un vídeo, en este webinar Guillermo Rocha, especialista en gestión de equipos, proyectos y procesos, nos enseña a elaborar un Value Stream Mapping con un ejemplo real de desarrollo de software:

Conclusión

El Value Stream Mapping es una herramienta visual muy interesante para conocer y mejorar nuestros procesos de desarrollo de software. En este artículo hemos visto un ejemplo real de cómo hacer un mapa de flujo de valor para optimizar la creación de una aplicación. Gracias a la utilización de un VSM, hemos reducido en más de un tercio nuestro tiempo de entrega sin que esto afecte a la eficiencia de flujo de trabajo. Hemos alineado así la creación de software con nuestros objetivos comerciales.

En la actualidad, entregar software a los usuarios es esencial para cualquier empresa. Da igual la industria en la que opere. El Value Stream Management o gestión del flujo de valor es el enfoque que deben adoptar si quieren acelerar el desarrollo de sus productos digitales y entregar valor a sus clientes continuamente.

Comparte

Share on facebook
Facebook
Share on twitter
Twitter
Share on pinterest
Pinterest
Share on linkedin
LinkedIn

Entradas relacionadas