La práctica contraintuitiva que mejora todo.
Los límites de WIP son restricciones sobre cuántos elementos pueden estar en progreso en una etapa determinada—o en todo el sistema—a la vez.
Esto parece incorrecto. ¿No deberíamos trabajar en todo lo posible? ¿No es mejor más actividad?
No. Y aquí está el porqué:
Ley de Little: Tiempo de entrega = WIP / Rendimiento
Si el rendimiento es constante, reducir el WIP a la mitad reduce el tiempo de entrega a la mitad. Esto es matemática, no opinión.
Cambio de contexto: Cada elemento adicional en progreso fragmenta la atención. Con 1 elemento, tienes 100% de enfoque. Con 5 elementos, tienes 20% de enfoque en cada uno. El cambio de contexto entre ellos consume el resto.
Formación de colas: Un WIP alto significa que los elementos esperan en colas. Un WIP bajo significa que los elementos fluyen más rápido.
Terminar antes de comenzar: Con límites de WIP, debes terminar algo antes de comenzar algo nuevo. Esto fuerza la finalización.
El resultado contraintuitivo: hacer menos a la vez significa terminar más en general.
El mantra de dejar de comenzar
Deja de comenzar, comienza a terminar. Suena como un eslogan, pero es el principio fundamental. Cada elemento 'comenzado' que no está terminado es inventario. Cada elemento que no comienzas es una entrada menos en la cola, un cambio de contexto menos, una unidad de enfoque más disponible.
¿Cómo sabes qué límite de WIP establecer?
Comienza con la observación: Cuenta cuántos elementos están en progreso ahora mismo. Si tienes 20 elementos entre 5 personas, esa es tu línea base.
Córtalo a la mitad: En serio. La mayoría de los equipos tienen demasiado WIP. Cortarlo a la mitad suele ser un buen punto de partida.
Por etapa vs. en todo el sistema: Puedes establecer límites por etapa (ej., máximo 3 elementos en Revisión de Código) o en todo el sistema (ej., máximo 10 elementos en todas las etapas). Comienza con lo que sea más simple para tu equipo.
Uno por persona más margen: Un punto de partida común es n+2 donde n es el tamaño del equipo. Así que un equipo de 4 podría comenzar con un límite de WIP de 6.
Ajusta según los resultados: Los límites de WIP deben ser lo suficientemente ajustados para crear flujo pero no tan ajustados que las personas no tengan nada en qué trabajar. Si el límite nunca se alcanza, es demasiado alto. Si las personas están constantemente inactivas, podría ser demasiado bajo.
El objetivo no es encontrar el límite de WIP "perfecto"—es crear una función de forzamiento que impulse la finalización y exponga problemas.
Un equipo de 5 tenía un promedio de 18 elementos en progreso. Establecieron un límite de WIP de 9. El primer sprint se sintió lento. En el segundo sprint, el tiempo de entrega bajó de 3 semanas a 8 días. En el tercer sprint, lo redujeron a 7. El tiempo de entrega bajó a 5 días.
Un equipo establece un límite de WIP de 30 para un equipo de 5. El límite nunca se alcanza. Nada cambia. El WIP se acumula a 25-28 sin desencadenar ninguna acción. El límite es decorativo, no funcional.
Los límites de WIP solo funcionan si respondes cuando los alcanzas. ¿Qué haces cuando se alcanza el límite?
Colabora en masa: Deja lo que estás haciendo y ayuda a despejar el cuello de botella. Si la Revisión de Código está en su límite, los desarrolladores ayudan a revisar en lugar de escribir código nuevo.
Espera productivamente: Si no puedes comenzar trabajo de nuevas funcionalidades, haz trabajo de mejora: paga deuda técnica, escribe pruebas, automatiza un proceso doloroso.
Escala los bloqueos: Si el límite se alcanza porque algo está bloqueado, escala inmediatamente. El bloqueo no puede ocultarse.
Analiza: ¿Por qué se está alcanzando el límite? ¿Es esta etapa la restricción? ¿Hay un problema sistémico?
Lo que NO debes hacer:
El límite está ahí para crear presión. La presión expone problemas. Los problemas, abordados, conducen a la mejora.
Violar el límite = Señal
Cuando sientes la tentación de violar el límite de WIP, eso es una señal. Algo está mal—o el límite es genuinamente demasiado bajo (raro) o el sistema tiene un problema que vale la pena discutir (común). Usa la tentación como un disparador para la mejora.