Si gestionas proyectos con incertidumbre (es decir, todos), es normal que te preguntes: ¿cómo anticipo el comportamiento del proyecto cuando las cosas cambian de un estado a otro? Hoy te cuento por qué las cadenas de Markov son una herramienta potentísima para responder a esa pregunta y cuatro utilidades prácticas que aplico en proyectos reales: riesgosplazosflujo Kanban y calidad.

¿Qué es una cadena de Markov?

Una cadena de Markov es un modelo probabilístico de transición entre estados (por ejemplo: En curso → Bloqueado → En revisión → Hecho), donde la probabilidad del siguiente estado solo depende del estado actual, no del histórico completo. A esto se le llama propiedad de Markov.

El corazón del modelo es la matriz de transición PP, donde cada elemento Pij indica la probabilidad de pasar del estado ii al estado jj en un intervalo de tiempo dado (día, semana, sprint…):

Traducción a proyectos: si puedo describir mi proyecto como un conjunto de estados (riesgo, avance, calidad, disponibilidad…), puedo medir transicionesestimar probabilidades y predecir comportamientos (tiempos esperados, probabilidades de éxito, puntos de fuga, etc.).

Utilidad 1 — Riesgos: priorizar y cuantificar la escalada

En riesgos, solemos hablar de identificar, analizar y responder. Con Markov, añadimos una capa: predecir la evolución del riesgo por estados (p.ej., Bajo → Medio → Alto → Materializado → Resuelto).

Qué te aporta:

  • Probabilidad de materialización de un riesgo a lo largo del tiempo.
  • Tiempo esperado hasta materialización o resolución (absorbing Markov chains: estados absorbentes como Resuelto o Materializado).
  • Priorización dinámica: no solo por impacto x probabilidad actual, sino por tendencia (si tu transición Medio → Alto crece, ese riesgo sube en prioridad).
  • ROI de respuestas: simulas cómo cambian las probabilidades si aplicas una mitigación.

Ejemplo de insight: “Con la configuración actual, hay un 22% de probabilidad de que el riesgo ‘Dependencia externa’ escale a Materializado en ≤ 3 semanas; aplicar la mitigación A reduce esa probabilidad al 9%”.

Utilidad 2 — Plazos: pronóstico de retrasos y tiempo esperado

Modela estados de calendario: En fechaRetraso leve (≤1 sprint)Retraso medioRetraso severoCerrado. Con la matriz de transición, puedes calcular:

  • Probabilidad de entrega en la ventana objetivo.
  • Tiempo esperado a entrega (cuando Cerrado es absorbente).
  • Probabilidad de recuperación (de Retraso medio a En fecha).
  • Early warning: si aumenta P(Retraso leve→Retraso medio), activa escalado.

Esto complementa (no sustituye) a EVM: mientras CPI/SPI te dan foto macro, la cadena de Markov te da dinámica de estados con granularidad semanal/sprint.

Utilidad 3 — Kanban: detectar cuellos de botella y optimizar WIP

Define estados del flujo (To DoIn ProgressBlockedReviewDone) y estima PP. Con ello:

  • Distribución estacionaria π(cuando existe): πP=ππP=π. Te dice dónde pasa más tiempo el trabajo.
  • Cuellos de botella: si πBlocked​ y πReview​ crecen, tienes atasco.
  • Tiempo de ciclo esperado por tipo de trabajo (sumando tiempos esperados en estados transitorios).
  • Ajuste de WIP con datos: combínalo con la Ley de Little (WIP ≈ Throughput × Lead Time) para justificar límites.

Resultado típico: “Reducir WIP en ‘En progreso’ de 8 a 5 tarjetas baja P(In Progress→Blocked) y recorta el lead time en 18–22%.

Utilidad 4 — Calidad: defectos, escapes y “momento óptimo” de release

Modela el ciclo de vida de defectos: Nuevo → Diagnosticado → Corregido → Verificado → Cerrado y Escape a Producción como absorbente. Con esto:

  • Probabilidad de escape antes del release.
  • Tiempo esperado para cerrar defectos críticos.
  • Reglas de salida: “no lanzar si P(escape)>5%” o si el tiempo esperado a cerrar críticos excede la ventana.
  • Priorización de deuda técnica con impacto cuantificado en P(escape)

Cómo empezar en 6 pasos (sin morir en el intento)

  1. Define estados claros (3–7 es un buen rango): mutuamente excluyentes y observables.
  2. Recolecta transiciones del histórico (Jira, Azure Boards, ServiceNow, herramienta propia). Periodo fijo: diario/semanal/sprint.
  3. Estima la matriz PP por conteo:
    P^ij=cij/∑jcij​​
    Utilizado un suavizado de Laplace para evitar ceros:
    P~ij=(cij+α)/∑(jcij+αm) donde (α∈[0.5,1])
  4. Valida con backtesting (train/test) y verifica que las distribuciones de estados previstas se parezcan a las observadas.
  5. Aplica decisiones: prioriza riesgos, ajusta WIP, recalibra planes, define umbrales.
  6. Opera en continuo: reestima PP cada sprint y monitoriza ΔP (los cambios te hablan de tendencias).

Mini ejemplo

Estados de riesgo del proyecto:

  1. En fecha (T)
  2. En riesgo (R)
  3. Incidencia (I)
  4. Entregado (D) — absorbente
  5. Cancelado (C) — absorbente

Matriz de transición por semana (ejemplo):

Particionamos en transitorios QQ (primeras 3 filas/columnas) y absorbentes R (primeras 3 filas, últimas 2 columnas).
El tiempo esperado hasta absorción (entregar o cancelar) desde cada estado viene del matriz fundamental:

N=(I−Q)−1, pasos esperados=N1

Y las probabilidades de absorción en cada absorbente:

B=NR (columnas: D, C)

Desde En riesgo, puedes obtener “prob. de terminar Entregado” frente a “Cancelado” y “semanas esperadas hasta absorción”. Esto alimenta el dashboard ejecutivo.

Las cadenas de Markov dan una forma simple y potente de convertir la incertidumbre del proyecto en decisiones basadas en información. Con un buen diseño de estados y una matriz de transición actualizada por sprint, desbloqueas pronósticos accionables: qué riesgo va a escalar, cómo se mueve el retraso, dónde se atasca tu flujo y cuándo conviene (o no) lanzar la release.

A continuación os dejo las preguntas típicas que suelen surgir entre nuestros clientes cuando les hablamos de las aplicaciones de las cadenas de Markov en la gestión de proyectos:

1) ¿Necesito muchos datos para empezar?
No. Con unas decenas de transiciones por estado puedes tener un primer P razonable. La clave es actualizar con cada sprint y aplicar suavizados para evitar sesgos por muestras pequeñas.

2) ¿Y si el proceso “no es Markoviano” (depende del pasado lejano)?
A veces pasa. Dos ideas: (a) refina estados para capturar historia (p.ej., En riesgo (2º sprint)), y (b) usa modelos de orden superior (depender del último par de estados). Empieza simple.

3) ¿Cómo conecto esto con EVM, OKR o dashboards?
Úsalo como capa dinámica: probabilidad de entrega, tiempos esperados y señales de escalado. Se integra bien con CPI/SPIWIPdefect density y lead time.

4) ¿Puede ayudar a justificar decisiones ante el sponsor?
Sí. Es trazable y cuantitativo: enseñas P, cómo lo estimaste y el efecto esperado de las mitigaciones (“si hacemos X, bajamos la prob. de cancelar del 12% al 5%”).

5) ¿Qué herramientas usar?
Excel (matrices pequeñas), Python/R para automatizar, y tus fuentes de verdad (Jira, Azure Boards, ServiceNow) para extraer transiciones.

Si quieres que te ayudemos a mejorar la gestión de tus proyectos no dudes en contactarnos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *