Aplicabilidad de Scrum

En este artículo quiero invitarte a revisar el contexto para el cual Scrum es más eficiente. Para ello puedes utilizar el marco Cynefin1 de terminología actualizada y originalmente publicado en 2003 para comprender las diferentes situaciones en las que te puedes encontrar operando, y cuál es, según este enfoque, la manera más eficiente de responder a cada una de ellas al tomar decisiones.

El marco Cynefin compara las características de cinco dominios de complejidad diferentes: claro, complicado, complejo, caótico y confundido, en el centro. Analicemos cada uno de ellos.

Dominio Claro

En este dominio se opera con problemáticas simples y conocidas de antemano (lo que sabes que sabes).

Es muy fácil identificar las causas y sus efectos. Por lo general, la respuesta correcta es clara, conocida por todos e indiscutible. En este dominio existen reglas claras y mejores prácticas, soluciones conocidas para problemas conocidos.

Los procesos más eficientes en este dominio son aquellos que especifican una serie lógica de pasos y se ejecutan de manera repetitiva, una y otra vez. Ejemplos de este dominio son la producción en serie, la instalación en muchos clientes de un mismo sistema.

Quienes habitan este mundo utilizan checklists y manuales de procedimientos para resolver los mismos problemas una y otra vez.

Si bien Scrum puede funcionar de forma parcial en este contexto, los procesos compuestos por pasos bien definidos son mucho más eficientes como, por ejemplo, waterfall.

Dominio Complicado

En este dominio encontrarás problemas complejos, buenas prácticas y perfiles expertos. Aquí te enfrentas a problemas que sabes anticipadamente que no conoces. Hay múltiples soluciones correctas para una misma problemática, pero se requiere del involucramiento de expertos para poder identificarlas. Un ejemplo típico de este escenario es la solución de un problema de performance en un software o base de datos, la sincronización de semáforos en un cruce de 3 avenidas, la búsqueda de eficiencia en la distribución logística de mercaderías, la construcción de una planta procesadora de residuos, etc.

Si bien Scrum podría emplearse, no necesariamente sea la forma más eficiente de resolver estas situaciones, donde funcionaría mejor un conjunto de expertos en la materia que releven la situación, investiguen diferentes alternativas y planteen la solución en base a las buenas prácticas.

Dominio Complejo

Cuando te enfrentas a problemas complejos, los resultados se vuelven más impredecibles. Estás frente a problemáticas que no sabes que no conoces. No existen ni mejores ni buenas prácticas catalogadas para las situaciones frente a las cuales te puedes encontrar. Simplemente, no sabes con anticipación si una determinada solución va a funcionar. Solo puedes examinar los resultados y adaptarte. Este es el dominio de las prácticas emergentes.

Las soluciones encontradas rara vez son replicables, con los mismos resultados, a otros problemas similares. Para poder operar en la complejidad necesitas generar contextos donde haya lugar para la experimentación y donde el fallo sea de bajo impacto. Se requieren niveles altos de creatividad, innovación, interacción y comunicación.

Este es un contexto complejo en el que es preferible utilizar un modelo de trabajo que permita actuar, inspeccionar y adaptar constantemente el resultado y las prácticas utilizadas. Por ejemplo, muchas personas utilizan su carro a diario para moverse desde su hogar a su lugar de trabajo. La mayoría de las veces el camino es el mismo, pero hay ciertas ocasiones en que surgen eventos inesperados que hacen que la persona deba buscar un camino alternativo, como por ejemplo tránsito excesivo, obras viales, algún desperfecto en un semáforo, manifestaciones, un accidente, etc. Este nuevo camino que la persona realiza no necesariamente lo planifica en su totalidad antes de salir de su casa, sino que lo va construyendo en el momento que va conduciendo. Primero dobla hacia la derecha, luego a la izquierda, hace cinco calles, luego vuelve a doblar, y así sucesivamente va construyendo ese camino emergente, just in time.

Aquí habita el desarrollo de nuevos productos o la incorporación de nuevas características en productos existentes. Vamos construyendo el producto (el camino) a medida que lo vamos descubriendo.

Dominio Caótico

Los problemas caóticos requieren una respuesta inmediata. Estás en crisis y necesitas actuar lo antes posible para restablecer cierto orden. Imagina que el sistema de despacho de vuelos en un aeropuerto de alto tráfico deja de funcionar. Este no sería un escenario para utilizar Scrum, aquí debes actuar de inmediato, tomar el control y mover la situación fuera del caos. Por ejemplo, solucionar el problema inmediatamente (sin importar la forma técnica), para luego, una vez fuera del caos, evaluar y aplicar una solución más robusta.

Este es el dominio de la improvisación.

Dominio Confundido

Te mueves en el espacio confundido cuando no sabes en qué dominio estás. Se la clasifica como una zona peligrosa, ya que no puedes medir las situaciones ni determinar la forma de actuar.

Es muy típico que las personas interpreten las situaciones y actúen en base a preferencias personales. El gran peligro del dominio desordenado es actuar de manera diferente a la que se necesita para resolver ciertos problemas.

Por ejemplo, mucha gente en el ámbito del desarrollo de software está acostumbrada al desarrollo secuencial, por fases, detalladamente planificado utilizando las mejores prácticas de la industria, y este enfoque, que corresponde al dominio claro o complicado, muchas veces se aplica en el dominio complejo.

Si te encuentras en el espacio desordenado o confundido, todo lo que hagas debe estar enfocado netamente en salir de ese espacio hacia un dominio mejor identificado, para luego actuar de la manera en que dicho dominio lo requiera.

Aplicabilidad de Scrum

He expresado que la aplicación de Scrum tiene sentido cuando estás frente a situaciones complejas: cuando no hay certezas y esperas cambios. Dado que es un marco, que no solo te permite construir el producto, sino al mismo tiempo descubrir cuál es ese producto que necesitas construir.

En mi experiencia, he identificado tres preguntas claves para poder decidir el uso o no uso de Scrum:

  1. ¿Cuánta seguridad posees de que el producto que tienes en mente va a resolver la necesidad que pretendes resolver?
  2. ¿Cuánta seguridad tienes que la tecnología escogida va a resolver la necesidad que pretendes resolver?
  3. ¿Cuál es la naturaleza del trabajo del equipo: trabajo principalmente mecánico o trabajo principalmente cognitivo?

Incertidumbre de producto o tecnológica

Sin la seguridad de que el producto que vas a construir o la tecnología que vas a emplear vayan a resolver la necesidad, aunque conozcas con lujo de detalles el alcance del producto, en realidad me animaría a decir que no conoces qué es lo que hay que construir o cómo hay que emplear la tecnología para sí resolver esa necesidad. Aquí tiene sentido utilizar Scrum.

Por el contrario, si tienes seguridad de que el producto a construir y la tecnología a emplear resolverán el problema que se pretende resolver, entonces, no tiene tanto sentido utilizar Scrum.

Naturaleza del trabajo

Con respecto a las personas y la naturaleza de su trabajo, si ésta es principalmente mecánica o física, entonces no tiene tanto sentido el empleo de Scrum, pero si cognitiva/creativa, entonces existe alta probabilidad que Scrum sea un enfoque adecuado. Habiendo recorrido entonces la teoría detrás de Scrum, te propongo nos movamos de lleno a su definición y estructura.



References

1. SNOWDEN, D., KURTZ, C., 2003, The new dynamics of strategy: Sense-making in a complex and complicated world, IBM Systems Journal, n42, 452-483