• Saltar a la navegación principal
  • Saltar al contenido principal
Icono Jeronimo Palacios

Jeronimo Palacios & Associates

Transformación digital

  • Agile Academy
    • Scrum Mastery
  • Próximos cursos
  • Scrum.org
    • Applying Professional Scrum
    • Applying Professional Scrum for Software Development
    • Professional Scrum Master
    • Professional Scrum Master II
    • Professional Scrum Product Owner
    • Professional Scrum Product Owner Advanced
    • Scaled Professional Scrum
    • Professional Agile Leadership
    • Professional Scrum with Kanban
  • Kanban University
    • Team Kanban Practitioner
    • Kanban System Design
    • Kanban Systems Improvement
  • Servicios
    • Formación
      • Management 3.0
      • SAFe 5.0
      • Lean Change Management
      • DevOps Institute
    • Agile Coaching
      • Discover and deliver Agility
      • Solicitud de propuesta de servicios profesionales
    • Software
      • Diagnóstico de Arquitectura de Software
    • Recursos
  • Blog
  • Guías
    • Método Kanban
    • Nexus
    • Definitiva Scrum
    • Oficial Scrum
  • Acerca de
    • Videos sobre Scrum y Kanban
  • Contacto
  • Show Search
Hide Search

WIP limit

Upstream: Flujo de generación de opciones

En los artículos anteriores de esta serie dedicada a Lean Kanban hablamos de:

• ProtoKanban: Qué es y sus beneficios.
• Downstream, ¿cómo ir más allá de ProtoKanban?

En ellos vimos como, entre otros beneficios, el método Kanban puede ayudar a los equipos a aumentar la tasa de entrega, reducir lead times, y todo ello desminuyendo la sensación de sobrecarga.

Si no estás familiarizado con conceptos como WIP limit, lead times o tasas de entrega te aconsejo que les eches un ojo a los anteriores artículos antes de seguir leyendo.

Y en tu empresa…. ¿cómo se toman las decisiones?

Standish Group tiene una base de datos con más de 1.000 organizaciones y 50.000 proyectos. Todos los años publica el informe “CHAOS Report” dónde plasman sus conclusiones sobre como impactan en el éxito o fracaso de los proyectos diferentes factores, como pueden ser madurez de los equipos, metodología de trabajo, skills de los miembros del equipo, etc… En el último CHAOS Report nos contaron que el factor que más impacta en el fracaso o éxito en un proyecto es la latencia que existe a la hora de tomar decisiones. Según sus números, el 58% de los proyectos con buena latencia de toma de decisiones tienen éxito. Solo el 9% de los proyectos con mala latencia llegan a buen puerto.

Como agilista, me parece que tiene todo el sentido del mundo. Si la mentalidad Agile se basa en la aceptación de la incertidumbre y su manera de abrazarla es la continua adaptación, una empresa con más capacidad de tomar decisiones será más adaptativa, más ágil, y tiene más posibilidades de llevarse el gato al agua.

Siempre me ha llamado la atención que en muchas empresas de las que he visitado la decisión del qué hacer, ya sea en un producto o un servicio, se queda relegada a las personas más ocupadas de las empresas y se confía que casi en pocos minutos (y en su tiempo libre) sean capaces de tomar las decisiones acertadas. Y eso si tienen tiempo de reunirse, claro.

Inanición del downstream

Una consecuencia de no gestionar ni dar visibilidad a la generación de ideas, y que pasa en un altísimo porcentaje de implantaciones de Kanban, es lo que conocemos como el “downstream starvation” (inanición del downstream).

Una vez que nuestro flujo de ejecución o downstream comienza a trabajar con Lean Kanban, a gestionar su demanda y a tener las conversaciones correctas ayudados por la limitación del WIP, la mayoría de los tiempos de espera y cuellos de botella vienen por parte de los usuarios, los representantes del usuario en el equipo, o las personas de negocio (latencia en la toma de decisiones). En definitiva, las personas que deciden el “qué”. Esto empieza a provocar que el downstream se va quedando algo ocioso, o trabajando en tareas cuyo valor de negocio es bajo. Algo que no interesa económicamente a la empresa.

Kanban, ¡ayúdanos!

Kanban puede ayudarnos en toda la cadena de valor del servicio y, por supuesto, en el flujo de decisión de qué se va a hacer, o upstream.

Hasta ahora habíamos hablado sobre el downstream, pero si tiene sentido aliviar el downstream de la sensación de sobrecarga, ¿no tendrá sentido alivar de una sobrecarga similar a los trabajadores creativos de nuestro upstream, esos quienes deben descubrir los conceptos e ideas a implementar?

El upstream existe tanto en servicios como en productos. Y no te obliga a que el downstream deba ser gestionado con Kanban. Puedes trabajar con Kanban tu upstream y gestionar con Scrum, o cualquier otro método o framework la ejecución.

Visualizando y creando el flujo upstream

Lo primero que tenemos que hacer es visualizar cuál es nuestro flujo de upstream y como se relaciona con nuestro downstream. Algo como:

Además, limitaremos el WIP para crear un sistema pull.

Tasas de descarte

En el flujo downstream la tasa de descarte suele ser casi nula. Una vez que un elemento llega al punto de commitment del equipo (en este caso ready to start) la inmensa mayoría de elementos completarán el flujo conforme la capacidad del sistema lo vaya permitiendo.

Pero nuestro flujo upstream no debería comportarse de esta manera. En cada etapa de nuestro flujo de ideación, hay una oportunidad de descartar una mala idea: demasiada cara; tomará demasiado tiempo; o nuestros clientes no quieren ni necesitan esto.

Si todo lo que se te ocurre lo estás metiendo en tu producto o servicio, puede significar que no estás generando suficientes opciones para darte cuenta de las malas ideas y quedarte solo con lo que da más valor al usuario y, por lo tanto, más reveniew para tu empresa. Una buena gestión de opciones lleva asociada una tasa de descarte.

Acoplando upstream y downstream

Nuestro sistema downstream funciona con un flujo estable de tarjetas que viajan por los kanban que van quedando disponibles (recordad que en este caso los kanban son los huecos libres que nos dan la señal de que podemos acometer más trabajo). Trabajar con WIP Limit es lo que provoca justamente este flujo, ya que hace entrar en el sistema la misma cantidad que sale. Podemos verlo como una tubería perfectamente sellada dónde la misma cantidad de agua que entra, sale. El caudal existente en nuestro sistema vendrá regulado por el WIP limit.

Pero en el sistema upstream no tiene esta naturaleza. En él se descartan ideas por el camino. Es como una tubería con goteras entre las diferentes fases que puede tener ( necesidad detectada, análisis, diseño, etc… ).

¿Cómo podemos enfrentarnos a esta situación y prevenir que nuestro downstream se quede sin comida? Introduciendo en nuestro upstream un WIP mínimo o un número de opciones mínimas (además del WIP limit). De esta manera nos aseguramos que el caudal de nuestra tubería es lo suficientemente alto para contrarrestar las goteras, y dejar listos un mínimo de elementos de dónde el downstream pueda tirar.

Ahora tenemos dos palancas para jugar e intentar acoplar con éxito estos dos sistemas: las opciones mínimas del upstream y el WIP limit del downstream.

Conclusión

Implementar Lean Kanban en ejecución muchas veces es insuficiente de cara al usuario final. Lo importante es que el tiempo desde que se detecte una necesidad hasta que la solución esté implementada no se dilate. Para conseguir esto, debemos crear flujo tanto en la ideación (upstream) como en la ejecución (downstream).

Como nuestro flujo upstream debe tener una tasa de descarte, introducimos el nuevo concepto de “WIP mínimo” u “opciones mínimas” para asegurarnos de que el número de opciones que llegan a nuestro downstream son suficientes para mantener su flujo lleno.

Visualizar este flujo e imponer un mínimo de elementos activos puede ser una palanca que deje aflorar un posible problema de toma de decisiones dentro del proyecto. La exigencia del WIP mínimo muchas veces ayuda a los equipos de decisión, comités, etc… replantearse su estrategia de gestión.

Cómo elegir un buen WIP Limit

El agilismo es una mentalidad, una manera de entender el desarrollo de software que cuando te sumerges te va salpicando poco a poco en muchos aspectos de la vida.

Cuando comenzaba en esto de las formaciones uno de los principios ágiles por los que pasaba rápidamente por encima era:

“Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.”

Cuando estuve ayudando a nuestros amigos de Product Hackers me tocó ponerme el gorro de Product Owner y este principio al que no le daba mucha importancia… se convirtió en mi preferido. Sólo en el momento en el que todas las piezas encajaron a nivel equipo, empresa, cliente, etc… y conseguimos un entorno de desarrollo sostenible y constante, empezamos a entregar valor de verdad y satisfacer las necesidades prioritarias de nuestros clientes una y otra vez creando una relación de confianza que nos permitió alcanzar grandes éxitos.

Wip limit: Creando el espacio

Una vez me hicieron la pregunta: “Si tenemos una capacidad máxima de delivery, ¿cómo que no limitamos la capacidad de entrada?”

Más o menos me quedé así:

Y es que…. ¿sirve de algo meter más trabajo del que va a salir en un sistema? Si tengo una depuradora de agua en mi piscina… ¿le intentaría meter más agua de la que es capaz de depurar para intentar depurar más? Si lo que quiero es pagar una gran factura de reparación y una mirada incrédula de un técnico de depuradora… entonces puede que sí.

Y es que limitar el WIP es precisamente lo que nos permite que nuestro sistema sea estable y constante en el tiempo. Es como una tubería donde solo entra caudal si sale.

WIP limit: La palanca magica

Hubo un señor que demostró la relación entre el número medio de clientes en una tienda, su frecuencia de llegada y el tiempo medio que pasaban en la tienda. Ahora estaréis pensando…¿y por qué me cuestas esta gran anécdota Nacho? Pues porque este señor se llamaba Little, y esta es la ley de Little y es la base de Kanban:

Como vemos, el WIP es la relación entre el lead time y el throughput rate o delivery rate. También podemos ver como afecta el WIP al lead time mirando un CFD (Cumulative Flow Diagram):

¿Cómo elegir mi WIP Limit?

La relación entre cuanto menos WIP menos lead time está clara con la ley de little o el CFD. Así que alguien puede pensar… ¡pues pongo 1 de WIP limit! Eso nos deja la paradoja del One piece flow dónde te aseguras que cuando una tarea entra en el sistema sale muy rápido, pero tu delivery rate se verá afectado y será muy bajo. ¿Esto es malo? ¿esto es bueno? Pues ni bueno… ni malo… en algunos entornos necesitarán un tiempo de respuesta muy rápido y no les importará tanto la tasa de entrega y en otros entornos necesitarán un equilibrio mayor.

En una de mis vidas pasadas colaboraba con un cliente muy tradicional dónde había una pequeña galia trabajando con Kanban y funcionando muy bien. Ellos querían poner en producción al menos una vez a la semana. Pero esta empresa solo permitía subir una vez al mes. En esta situación…. ¿un lead time de 1 o 2 días me ayuda? ¿O puedo pensar en abrir un poco el WIP, aumentar un poco el lead time, pero subir el delivery rate? La capacidad de absorción de nuestros clientes es un factor a tener en cuenta también.

Creo que este vídeo explica muy bien como puede ser una búsqueda de el WIP deseado (Nota: en el vídeo se habla de cycle time que es el tiempo que está la tarea desarrollándose. El Lead Time es el tiempo desde que me comprometo hasta que lo entrego. Como es de suponer, están estrechamente relacionados)

En definitiva, hay que encontrar un equilibrio entre el Lead Time y el Delivery Rate.

¿Cómo elijo mi primer WIP limit?

¿Cómo elijo ese primer WIP limit que mediré, inspeccionaré y adaptaré si aún no tengo métricas?. El primer WIP limit habrá que elegirlo según la experiencia de los miembros del equipo o con consejo externo. Lo importante es tener una mentalidad empírica para inspeccionar y adaptar así que tampoco me volvería loco eligiéndolo.

Una frase que a mi me sirvió: “El WIP limit debe doler”. Es una restricción. Muchas veces los equipos tienen a pensar… si somos 4… y cada uno puede con 2 o 3 cosas a la vez… ¡pues pongamos 10! Como ya he dicho antes este número no está ni bien ni mal. Habrá que medir, inspeccionar y adaptar si hace falta. Pero una primera elección que nos duela suele resultar más acertada la mayoría de las veces. Como probar uno por persona en todo el sistema. Pero como vimos antes, cada entorno es un mundo y persigue diferentes métricas.

¿Qué pasa si cambio el WIP limit?

Imaginemos que quieres bajar el Lead Time porque quieres ganar predictibilidad y poder asegurar un SLA más bajo. En ese momento decidís bajar el WIP limit. Ahora te tocará esperar a que el sistema se vacíe para ver como funciona. Es como si tienes una cisterna de 5 litros y la cambias a una de 3. No podrás ver como se comporta el nuevo sistema hasta que se vacíe y se llene de nuevo. Es un proceso que pasará de forma natural y no requiere ningún esfuerzo extra que no sea respetar vuestras reglas y paciencia.

Conclusiones

Limitar el WIP es un arma muy poderosa para crear un entorno sostenible. Siempre es difícil elegir el primer WIP, pero hay que acordarse de que:

  • Se puede cambiar en cualquier momento. Siempre que se esté persiguiendo la mejora del sistema y no una auto-trampa para eliminar una restricción que nos molesta.
  • Hay que tener en cuenta la capacidad de absorción de nuestros clientes
  • Es una restricción y como tal, la primera vez que lo estipulamos, es buena señal si nos duele.
  • Hay que mirar (al menos) nuestras métricas de Lead Time y de Throughput para ir equilibrando entre ellas cambiando nuestro WIP si fuera necesario.
  • Una vez cambiado el WIP Limit, el impacto no es inmediato.

Flujo downstream: Cómo ir más allá de Proto-Kanban

https://jeronimopalacios.com/kanban/Este es el segundo artículo de una serie dedicada a la introducción de Lean Kanban en organizaciones. Si no lo has hecho ya, es recomendable empezar leyendo Proto-Kanban: Qué es y sus beneficios donde hablé sobre como la visualización y una mentalidad pull podían ayudar a un equipo que está empezando en esto de Kanban.

¿Como ir más allá de Proto-Kanban?

Con Proto-Kanban hemos empezado a tener una mejor visualización de nuestro sistema y estamos empezando a gestionar trabajo y no personas. Pero aún estamos lejos de tener un flujo de trabajo real. ¿Cómo continuar?

Nuestra mentalidad pull nos ha ayudado a mejorar el lead time y la tasa de entrega. Pero esto no es suficiente. En nuestras formaciones vemos una y otra vez que existe una gran tendencia a hacernos auto-push y cuando la demanda crece, tenemos elementos con fecha fijada o urgentes, el acto reflejo es empezar a meter y meter trabajo en nuestro sistema colapsándolo.

Lo único que conseguirá sobrecargar un sistema por encima de su capacidad es tener mucho trabajo empezado y nada terminado. Esto es un desperdicio de tiempo y dinero, aumentará el lead time, disminuirá la capacidad de adaptación de nuestra empresa y de entregar a sus clientes lo que necesitan cuando lo necesitan.

Para crear un sistema pull completo vamos a utilizar algunas de las prácticas de Lean Kanban:

  • Limitar el WIP
  • Políticas explícitas
  • Clases de servicio
  • Feedback loops

Limitando el WIP (Work in Progress)

Llegó el momento de dar un paso más, ir de la mentalidad pull adquirida con Proto-Kanban a un sistema pull con trabajo limitado. Estableciendo WIP limits en nuestro sistema nos aseguramos que esa tentación de auto-push desaparece porque ahora nuestro sistema, sencillamente, no lo admite.

Establecer WIP limits no es más que limitar el trabajo en curso en nuestro sistema. Podemos poner un límite para todo el sistema (no puede haber más de 6 elementos empezados), podemos poner límites por columnas, por persona, podemos combinar todos, etc…

Kanban board with WIP Limits

En la imagen podemos ver los WIP limits representados en la cabecera de cada columna por un número rodeado de un círculo.

Esta limitación permitirá al equipo:

  • Reducir aún más la sensación de sobrecarga
  • Focalizarse en lo realmente importante en ese momento
  • Entregar con mayor calidad

Esta calidad bajará drásticamente el número de elementos mal acabados que vuelven a entrar en el sistema (re-work), lo que impactará positivamente en el lead time, en la tasa de entrega y en lo más importante, la satisfacción del cliente.

Además, limitar el WIP nos permitirá crear un sistema sostenible en el tiempo ganando predictibilidad basado en datos y no en estimaciones u opiniones. Lead times medios, cycle times, etc…

En este post hablamos sobre qué hay que tener encuenta para elegir un buen WIP limit.

Haciendo las políticas explícitas

Hemos creado un flujo de trabajo pero… ¿cómo funciona? ¿quién mueve qué? ¿cómo se deciden las prioridades? ¡Las políticas explícitas acuden al rescate!

Kanban: Políticas explícitas

La selección de políticas debe hacerse por aquellos que son responsables de realizar el trabajo. Las políticas son variadas y de muchos tipos. Pueden existir políticas por columna (quien mueve que, como se deciden las prioridades), políticas para todo el sistema (cuando se hacen replenishments, como se revisan los ítems) o políticas por clase de servicio.

Las políticas deben estar visibles en todo momento. Algo que ayuda a los equipos a hacer explícitas las políticas es pensar que cualquier persona que pase por delante del tablón debe entender perfectamente como funciona el sistema al completo.

Es común en los equipos que están empezando intenten crear políticas nuevas que son más bien buenas intenciones que una política de funcionamiento. Esto desemboca en post-its gigantes con una norma que nadie está cumpliendo, generando frustración y la sensación de que la visualización puede ser algo que no es tan importante mantener. Es fundamental que el equipo entienda que las políticas:

  • Deben ser escasas
  • Simples
  • Estar bien definidas
  • Visibles
  • Las políticas no son un deseo, deben aplicarse siempre. Hay que ser realistas e inspeccionar si la estamos usando, si no, por qué no, etc…
  • Tienen que ser fácilmente modificables

Kanban Board Politicas

Clases de servicio

Para poder gestionar el flujo correctamente es importante conocer el coste del retraso (cost of delay) de los elementos de trabajo. Debemos saber qué ítems son importantes, urgentes, con una fecha dada, etc… Kanban utiliza cuatro arquetipos para definir como cambia el valor del ítem de trabajo según su coste de retraso:

En la imagen podemos ver como evoluciona el coste del retraso o el impacto según pasa el tiempo.

  • Urgente: El coste del retraso crece y crece desde el primer día de forma lineal con una gran pendiente. Lo necesito, lo necesito ya y cada minuto cuenta.
  • Fecha fija: Al principio, el coste de retraso es bajo. Pero a partir de una fecha el coste de retraso es altísimo. Por ejemplo, si te piden una campaña de marketing para el blackfriday.
  • Estándar: Crece casi de forma lineal y constante en el tiempo. Suelen ser las más comunes en un sistema.
  • Intangible: Los ítems de clase intangible pueden ser importantes y valiosos, pero no hay costo de retraso tangible asociado con ellos en el futuro cercano.Lo que pasa con los ítems de esta clase es que un día estallan y el coste de retraso se dispara y se comportan como una urgente.

Pero cada sistema es un mundo y por tanto, el equipo debe encontrar las clases de servicio que mejor se ajusten a su sistema. Hay equipos que han llegado a definir una clase de servicio con el nombre de su CEO. Y una política asociada a esta clase de servicio que rezaba: “No empezaremos nunca un ítem de trabajo bajo esta clase de servicio hasta después de una semana”. Este CEO era especialista en pedir cosas muy urgentes y luego… arrepentirse. Como vemos, la combinación de clases de servicio y políticas es muy poderosa y nos permite gestionar perfectamente nuestro flujo.

Hay un comportamiento que nos encontramos muchas veces: “He empezado con este elemento de trabajo por qué me apetecía”. Las clases de servicio, junto a las políticas definidas, nos ayudan a eliminar la subjetividad y la procrastinación a la hora de elegir qué elemento de trabajo comenzar. La elección ahora tiene unas reglas objetivas que todo el equipo conoce, entiende y han establecido de mutuo acuerdo.

Feedback loops

El Agilismo se basa en el empiricismo por lo que no debemos olvidar los procesos de inspección y adaptación. Kanban define hasta siete cadencias con diferentes objetivos. Esto puede provocar rechazo por parte del equipo por la sensación de sobrecarga de reuniones. A nosotros nos da buen resultado empezar con la Daily Kanban y un Replenishment meeting semanal. Poco a poco, los equipos van teniendo necesidades que encajan con los objetivos de las otras cadencias y van sumándolas. Escribiré otro post para tratar exclusivamente de las cadencias.

¿Cómo podemos medir nuestro impacto?

Lo ideal es tener un histórico de métricas del equipo para poder comparar. Pero al menos, con Proto-Kanban ya deberíamos tener:

Lead time medio:Tiempo desde que nos comprometemos a tener una tarea hasta que la entregamos.
Cycle time medio: Tiempo que la tarea está desarrollándose.
Tasa de entrega: Cantidad de ítems entregados en unidad de tiempo.

Es importante medir, al menos, estas tres. A mi me gusta también introducir el customer lead time que es el tiempo desde que un ítem entra en nuestro backlog hasta que se entrega. Al fin y al cabo, al cliente le interesa cuanto tiempo tardas en entregarle la tarea desde que se la pide al equipo.

Nos hemos encontrado empresas con lead times muy bajos y muy orgullosos. Pero luego, cuando indagabas, encontrabas tasas de entregas bajísimas. Habían estado eliminando las tarjetas que llevaban en el sistema mucho tiempo. De esta manera “camuflaban” su lead time real. Pero la tasa de entrega no engañaba. ¿Sirve para algo medir y autoengañarse?

Conclusion

Una vez que tenemos Proto-Kanban funcionando es el momento de introducir más prácticas para crear y gestionar un flujo de trabajo:

  • Limitar el WIP
  • Políticas explícitas
  • Clases de servicio
  • Feedback loops

Debemos recordar que Kanban se ocupa del diseño, la gestión y la mejora de los sistemas de flujo. Conseguir un sistema estable en el tiempo es solo el primer paso. El equipo debe seguir mejorándolo continuamente por lo que hay que medir, inspeccionar y adaptar.

Si quieres profundizar más puedes leer nuestra guía de Kanban o el Kanban esencial condensado de David J. Anderson y Andy Carmichael

Continuar leyendo: Upstream, flujo de generación de opciones >>

Mantente al día a través de nuestra Newsletter Susbribirse

Jeronimo Palacios & Associates

Copyright © 2023 · Jerónimo Palacios & Associates S.L.

  • Aviso legal
  • Condiciones de venta
  • Política de cookies
  • Política de privacidad