En pocas palabras
Técnica de previsión que simula miles de futuros posibles muestreando el ritmo de entrega pasado del equipo, y expresa fechas o alcance con un nivel de confianza.
Qué problema resuelve
Estimaciones puntuales en horas o puntos que se convierten en compromisos, se incumplen y consumen tiempo en reuniones de estimación.
Cuándo utilizarlo
Planificación de releases, roadmap o negociación de alcance. Ejemplo: indicar a negocio con qué probabilidad estarán 30 historias para el lanzamiento en un nuevo país.
De la idea a la práctica
Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.
Métricas de flujo necesarias
| Métrica | Definición |
|---|---|
| Throughput | Elementos terminados por unidad de tiempo (semana) |
| Cycle time | Tiempo desde que un elemento empieza hasta que termina |
| WIP | Elementos empezados y no terminados |
| Work item age | Cuánto lleva en curso cada elemento abierto |
Basta con tener fechas de inicio y fin por elemento en el gestor de tareas. No se necesitan estimaciones de tamaño si los elementos tienen una granularidad razonablemente parecida.
Cómo funciona
- Toma el throughput semanal de las últimas 10–20 semanas.
- Para simular un futuro, muestrea al azar semanas de ese histórico hasta completar el trabajo pendiente.
- Repite 10 000 veces y ordena los resultados.
- Lee percentiles: el 50 % es una moneda al aire; el 85 % es un compromiso razonable.
Ejemplo en Python
import random
throughput = [3, 5, 2, 6, 4, 0, 5, 3, 4, 7, 2, 4] # historias por semana
pendientes, simulaciones = 30, 10_000
def semanas_hasta(pendientes: int) -> int:
semanas = hechas = 0
while hechas < pendientes:
hechas += random.choice(throughput)
semanas += 1
return semanas
resultados = sorted(semanas_hasta(pendientes) for _ in range(simulaciones))
for p in (50, 70, 85, 95):
print(f"P{p}: {resultados[int(simulaciones * p / 100) - 1]} semanas")
Para la pregunta inversa, «¿cuánto entra antes del lanzamiento?», fija el número de semanas, suma muestras y lee el percentil bajo (P85 de que entren al menos N elementos).
Comunicar el pronóstico
| Percentil | Lectura para negocio |
|---|---|
| P50 | Igual de probable que llegue antes o después |
| P85 | Fecha comprometible con riesgo bajo |
| P95 | Fecha casi segura; útil para dependencias externas |
Presenta un histograma o tabla, no solo una fecha. Repite el pronóstico cada semana: si el P85 se aleja, es una señal temprana para negociar alcance.
Factores que lo invalidan
- Crecimiento del alcance: el backlog real suele crecer un 20–50 % durante un proyecto; añade un factor de descubrimiento o modela la tasa de llegada.
- Cambios en el equipo: incorporaciones o salidas alteran el ritmo; usa el histórico posterior al cambio.
- WIP alto: con mucho trabajo en paralelo, el cycle time se dispara (ley de Little: cycle time ≈ WIP / throughput).
Versión en hoja de cálculo
Sin programar, con Google Sheets o Excel (cada fila es una simulación; copia 10 000 filas):
| Columnas | Contenido |
|---|---|
Hoja Datos, A2:A13 |
Throughput semanal histórico (12 semanas) |
B:AA (26 columnas) |
Semana simulada: =INDEX(Datos!$A$2:$A$13; RANDBETWEEN(1; 12)) |
AB:BA (26 columnas) |
Acumulado: en AB2 =B2, en AC2 =AB2+C2, y así hacia la derecha |
BB |
Semanas hasta completar 30: =COUNTIF(AB2:BA2; "<30") + 1 |
BC |
Total entregado en 10 semanas: =AK2 |
Después, =PERCENTILE(BB2:BB10001; 0,85) da el número de semanas comprometible para el alcance, y =PERCENTILE(BC2:BC10001; 0,15) el alcance que se entrega en 10 semanas con un 85 % de probabilidad. Cada recálculo de la hoja genera una nueva simulación.
Presentarlo a negocio
Lanzamiento de libre inversión en Perú — 30 historias pendientes (actualizado 17/10)
50 % ▏ 21 nov
70 % ▏ 28 nov
85 % ▏ 05 dic ← compromiso propuesto
95 % ▏ 19 dic
Si la fecha debe ser el 28 nov: con un 85 % de probabilidad entran 24 de las 30 historias.
Las 6 restantes por prioridad: …
Ofrecer las dos lecturas (fecha para un alcance, alcance para una fecha) convierte la conversación en una negociación de alcance informada en lugar de una discusión sobre estimaciones.
Señales tempranas con work item age
Un elemento que lleva en curso más tiempo que el percentil 85 histórico del cycle time está en riesgo. Revisar en la daily los elementos por edad (no solo por estado) detecta bloqueos antes de que afecten al pronóstico.
Escalar a varios equipos
Para un programa con varios equipos, simula cada equipo con su propio histórico y combina los resultados respetando las dependencias: la fecha del programa es la del equipo más lento en cada simulación, no la media. Las dependencias entre equipos suelen ser la principal fuente de retraso, y el pronóstico lo hace visible.
Criterios de implementación
Limita el WIP para estabilizar el flujo antes de pronosticar. Divide el trabajo en elementos de tamaño parecido. Herramientas como ActionableAgile, extensiones de Jira o una hoja de cálculo hacen la simulación; el valor está en la conversación con negocio sobre riesgo y alcance.
Continúa en las fuentes
Documentación oficial para verificar detalles y explorar más.