7 min lectura • Guide 225 of 877
Gestionando Límites de Trabajo en Progreso
Los límites de Trabajo en Progreso (WIP) son la palanca más poderosa para mejorar el flujo. Al limitar cuánto trabajo está en progreso simultáneamente, fuerzas la completación sobre el inicio, reduces el cambio de contexto y frecuentemente aumentas el throughput mientras reduces el estrés.
Beneficios de Límites WIP
| Sin Límites WIP | Con Límites WIP |
|---|---|
| Iniciar muchos, terminar pocos | Terminar antes de iniciar |
| Cambio de contexto | Trabajo enfocado |
| Cuellos de botella ocultos | Restricciones visibles |
| Tiempos de ciclo largos | Completación más rápida |
| Trabajo se acumula | Flujo suave |
Principio Fundamental
POR QUÉ FUNCIONAN LOS LÍMITES WIP
═════════════════════════════════
SIN LÍMITES:
┌─────────────────────────────────────────────────────────────┐
│ │
│ Backlog │ In Progress │ Review │ Done │
│ ▫▫▫ │ ▫▫▫▫▫▫▫▫▫ │ ▫▫▫▫ │ ▫▫ │
│ ▫▫▫ │ ▫▫▫▫▫▫▫▫▫ │ ▫▫▫▫ │ │
│ ▫▫▫ │ ▫▫▫▫▫▫▫▫▫ │ ▫▫▫▫ │ ← Pocas cosas Done │
│ │
│ PROBLEMA: Mucho en progreso, poco terminado │
│ SÍNTOMAS: Estrés, cambio de contexto, retrasos │
│ │
└─────────────────────────────────────────────────────────────┘
CON LÍMITES:
┌─────────────────────────────────────────────────────────────┐
│ │
│ Backlog │ In Progress │ Review │ Done │
│ ▫▫▫ │ [3/3] │ [2/2] │ ▫▫▫▫▫▫▫ │
│ ▫▫▫ │ ▫▫▫ │ ▫▫ │ ▫▫▫▫▫▫▫ │
│ ▫▫▫ │ │ │ ▫▫▫▫▫▫▫ ← Más Done │
│ │
│ RESULTADO: Menos WIP, más completado │
│ BENEFICIOS: Enfoque, velocidad, calidad │
│ │
└─────────────────────────────────────────────────────────────┘
Calculando Límites WIP
FÓRMULAS PARA LÍMITES WIP
═════════════════════════
OPCIÓN 1: POR TAMAÑO DE EQUIPO
┌─────────────────────────────────────────────────────────────┐
│ │
│ WIP Total = Tamaño equipo × 1.5 a 2 │
│ │
│ Ejemplo: Equipo de 5 personas │
│ WIP Total = 5 × 1.5 = 7-8 tareas máximo en todo el board │
│ │
└─────────────────────────────────────────────────────────────┘
OPCIÓN 2: POR COLUMNA
┌─────────────────────────────────────────────────────────────┐
│ │
│ Columna │ Fórmula │ Ejemplo (equipo de 5) │
│─────────────────────────────────────────────────────────────│
│ In Progress │ N personas │ 5 │
│ Review │ N/2 a N │ 3 │
│ QA │ N/3 a N/2 │ 2 │
│ │
└─────────────────────────────────────────────────────────────┘
OPCIÓN 3: POR PERSONA
┌─────────────────────────────────────────────────────────────┐
│ │
│ Máximo 2 tareas por persona: │
│ ├── 1 tarea principal en progreso │
│ └── 1 tarea secundaria (esperando review, etc.) │
│ │
│ Si alguien tiene >2 tareas: debe terminar antes de tomar │
│ │
└─────────────────────────────────────────────────────────────┘
Implementación
PASOS PARA IMPLEMENTAR WIP LIMITS
═════════════════════════════════
PASO 1: MEDIR ESTADO ACTUAL
┌─────────────────────────────────────────────────────────────┐
│ • Contar WIP promedio actual │
│ • Identificar columnas con acumulación │
│ • Medir cycle time actual │
└─────────────────────────────────────────────────────────────┘
PASO 2: ESTABLECER LÍMITES INICIALES
┌─────────────────────────────────────────────────────────────┐
│ • Comenzar conservador (WIP actual × 0.8) │
│ • Aplicar a columnas más problemáticas primero │
│ • Comunicar al equipo por qué y cómo │
└─────────────────────────────────────────────────────────────┘
PASO 3: HACER LÍMITES VISIBLES
┌─────────────────────────────────────────────────────────────┐
│ En GitScrum: │
│ • Configurar límite en cada columna │
│ • Habilitar alertas cuando se alcanza │
│ • Mostrar contador [actual/límite] │
└─────────────────────────────────────────────────────────────┘
PASO 4: OBSERVAR Y AJUSTAR
┌─────────────────────────────────────────────────────────────┐
│ Después de 2-3 sprints: │
│ • ¿El trabajo fluye mejor? │
│ • ¿Dónde hay cuellos de botella? │
│ • Ajustar límites según sea necesario │
└─────────────────────────────────────────────────────────────┘
Manejando Violaciones
CUANDO SE ALCANZA EL LÍMITE
═══════════════════════════
QUÉ HACER:
┌─────────────────────────────────────────────────────────────┐
│ │
│ OPCIÓN 1: AYUDAR A MOVER TRABAJO │
│ ├── ¿Puedo hacer review para desbloquear? │
│ ├── ¿Puedo ayudar a terminar algo? │
│ └── ¿Hay bloqueadores que puedo remover? │
│ │
│ OPCIÓN 2: ESPERAR │
│ ├── No tomar nuevo trabajo │
│ ├── Hacer mejoras técnicas │
│ └── Documentar, limpiar, refactorizar │
│ │
│ OPCIÓN 3: SWARMING │
│ ├── Múltiples personas en una tarea │
│ ├── Terminar rápido para liberar capacidad │
│ └── Especialmente útil para bloqueos │
│ │
└─────────────────────────────────────────────────────────────┘
QUÉ NO HACER:
┌─────────────────────────────────────────────────────────────┐
│ ❌ Ignorar el límite │
│ ❌ Subir el límite para acomodar │
│ ❌ Empezar trabajo "fuera del board" │
│ ❌ Mover trabajo a columna incorrecta │
└─────────────────────────────────────────────────────────────┘
Revelando Cuellos de Botella
WIP COMO HERRAMIENTA DE DIAGNÓSTICO
═══════════════════════════════════
CUELLO DE BOTELLA EN REVIEW:
┌─────────────────────────────────────────────────────────────┐
│ │
│ In Progress │ Review │ Done │
│ [2/5] │ [5/2] ⚠️ │ │
│ ▫▫ │ ▫▫▫▫▫ │ ▫▫▫ │
│ │ │ │
│ │
│ DIAGNÓSTICO: Review es cuello de botella │
│ ACCIONES: │
│ ├── Más personas haciendo reviews │
│ ├── Reducir tamaño de PRs │
│ ├── Pair programming para reducir reviews │
│ └── Automatizar validaciones │
│ │
└─────────────────────────────────────────────────────────────┘
CUELLO DE BOTELLA EN QA:
┌─────────────────────────────────────────────────────────────┐
│ │
│ Dev │ Ready for QA │ QA │ Done │
│ [3/5]│ [8/5] ⚠️ │ [1/2] │ │
│ ▫▫▫ │ ▫▫▫▫▫▫▫▫ │ ▫ │ ▫▫▫ │
│ │
│ DIAGNÓSTICO: QA no puede procesar la cola │
│ ACCIONES: │
│ ├── Devs ayudan con testing │
│ ├── Más automatización de tests │
│ ├── Reducir scope de testing manual │
│ └── Agregar capacidad de QA │
│ │
└─────────────────────────────────────────────────────────────┘
WIP en GitScrum
CONFIGURACIÓN EN GITSCRUM
═════════════════════════
ESTABLECER LÍMITE EN COLUMNA:
┌─────────────────────────────────────────────────────────────┐
│ Board > Columna > ⚙️ Settings │
│ │
│ ┌───────────────────────────────┐ │
│ │ Column: In Progress │ │
│ │ │ │
│ │ WIP Limit: [ 5 ] │ │
│ │ │ │
│ │ ☑ Highlight when exceeded │ │
│ │ ☑ Block new items when full │ │
│ │ ☐ Notify team when reached │ │
│ │ │ │
│ │ [Save] [Cancel] │ │
│ └───────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
VISUALIZACIÓN:
┌─────────────────────────────────────────────────────────────┐
│ │
│ In Progress [3/5] ← Verde: Bajo el límite │
│ In Progress [5/5] ← Amarillo: En el límite │
│ In Progress [6/5] ⚠️ ← Rojo: Excede el límite │
│ │
└─────────────────────────────────────────────────────────────┘
Ajuste Continuo
CUÁNDO AJUSTAR LÍMITES
══════════════════════
REDUCIR LÍMITE SI:
┌─────────────────────────────────────────────────────────────┐
│ • Nunca se alcanza (límite muy alto) │
│ • Aún hay mucho cambio de contexto │
│ • Cycle time no mejora │
│ • Trabajo sigue acumulándose │
└─────────────────────────────────────────────────────────────┘
AUMENTAR LÍMITE SI:
┌─────────────────────────────────────────────────────────────┐
│ • Personas frecuentemente sin trabajo │
│ • Bloqueos genuinos crean tiempo muerto │
│ • Throughput está artificialmente limitado │
└─────────────────────────────────────────────────────────────┘
REGLA: Cuando tengas duda, baja el límite
La tensión es señal de que está funcionando