La complejidad y la Agilidad ¿Tienen algo en común?
La complejidad es una forma de analizar, reflexionar sobre determinados aspectos de la naturaleza, la sociedad y el pensamiento, los cuales presentan peculiares características que los categorizan como sistemas de comportamiento complejo, en este nuevo post hablaremos sobre el significado de complejidad, cuál es su relación con Agile, la matriz de Ralph Stacey y el framework Cynefin de Dave Snowden. Realmente mucho de lo que hacemos en Agile está relacionado con esto y vamos a entender cuáles son las técnicas que tenemos que utilizar para reaccionar a la complejidad dependiendo del dominio donde te encuentres.
Actualmente, las empresas viven en un mundo muy complejo, es cierto que la tecnología ha facilitado muchísimo las cosas, pero también ha añadido muchísimas variables de complejidad. Las empresas nacidas digitales están consiguiendo más éxito que las demás por su capacidad de navegar en la incertidumbre, la complejidad y la velocidad a la que evoluciona el mercado la competencia nuestros clientes. Esto ultimo lo obtienen por su agilidad para acelerar el time to market de productos y servicios digitales.
Ahora vamos hablar de Stacey un investigador de la Universidad Hertfordshire Business School, publicó un artículo hablando de la de los cuatro dominios que podemos encontrar en entornos complejos basándonos en tres variables.
La variable de requerimientos del sistema, la tecnología que utilizamos para resolver los problemas a los que nos enfrentamos en ese sistema y de las personas involucradas.
Los requerimientos básicamente son la demanda, el cómo tenemos que reaccionar, que nos está pidiendo nuestro entorno para poder reaccionar a él, estos requerimientos pueden ser claros, súper claros o puede ser que no, lo cual suele ser normal en entornos muy complejos o incluso caóticos.
Por otro lado, tenemos los medios tecnológicos no solamente la tecnología en términos de software o de hardware sino también los medios materiales como pueden ser los recursos de tiempo o económicos que tenemos para responder a estas demandas, estas podrán estar controladas o no.
Por último, tenemos a las personas, las personas tienden a añadir complejidad al proceso, mira este ejemplo.
El grupo de operaciones es bueno desarrollando tareas de forma individual, pero ahora esos requerimientos los tenemos que realizarlos como equipo, buscando sinergia y confiando en cada uno de ellos. En ese caso el entorno se hace más complejo donde todo el mundo al inicio va a tener una opinión y va a ser casi imposible ponernos de acuerdo. Por ende, tenemos las tres variable(Requerimientos, tecnologías y personas).
Si la complejidad viene por los requerimientos, podemos resolverlos invirtiendo tiempo, recursos y dinero. Siempre que resolver esto requerimiento sea sobre una tecnología sencilla o simple.
En el caso de la tecnología, si no la tenemos clara podemos recurrir al conocimiento experto. Estas tres variables nos dan cuatro dominios de complejidad un dominio simple donde básicamente lo conocemos todo porque controlamos los requerimientos, controlamos las tecnologías y tenemos involucradas a una o cero personas, y estos son entornos altamente automatizados.
En el dominio complicado, tenemos dos tipos de complejidad. La complejidad derivada de la falta de conocimiento de los requerimientos. Esto se puede resolver invirtiendo tiempo y dinero y la complejidad derivada de la falta de control sobre la tecnología, se puede resolver con conocimiento experto. (en el dominio complicado conocemos más de lo que desconocemos).
En el dominio complejo, desconocemos más de lo que conocemos, en este entorno ya tenemos varias variables que se mueven. ejemplo : múltiples personas, requerimientos que pueden ser que no estén claros, la tecnología que puede ser que no controlemos y aquí las estrategias para responder a este entorno cambian constantemente.
Por último, tenemos el dominio del caos, conocemos muy poco o nada sobre la situación, no conocemos las demandas, no controlamos la tecnologías y además tenemos a muchas personas involucradas. Esta matriz nos permite categorizar los problemas a los que nos enfrentamos. Realmente la mayoría de las organizaciones se enfrentan a problemas dentro de lo complejo y especialmente el desarrollo de software.
Recomendado por LinkedIn
El framework Cynefin es un marco que nos ayuda afrontar los problemas que nos encontramos dentro de los distintos dominios de la complejidad. El framework es ampliamente usado como herramienta para intentar categorizar pensar y resolver problemas dentro de su ámbito de complejidad.
Encontramos cuatro dominios que van a resultar muy similares a los descritos por Ralph Stacey donde tendremos un dominio obvio o simple, complicado, complejo y el caos.
En el dominio obvio o simple podríamos explicar con un ejemplo y hablar del juego de tres en raya, michí o tres en línea. Para este juego necesitarás un tablero de 3x3 cómo el que se muestra en la imagen.
El juego trata de ir marcando los espacios del tablero alternadamente hasta que uno de los jugadores consiga hacer tres en raya. La línea puede ser horizontal, diagonal o vertical. Aquí para ganar el juego necesitamos saber las mejores prácticas. por ejemplo, si me toca empezar a mí, la mejor opción es siempre irme al centro aquí tenemos la causa y efecto clara. Básicamente si ponemos un círculo sabemos que van a ocurrir una serie de cosas y es muy difícil que ocurran cosas diferentes, Si tu colocas un círculo mi oponente no va a poner un peón porque tenemos muy claras cuáles son las reglas. En este dominio se puede percibir, categorizar y responder. Donde percibir se relaciona con cuál es la situación. Además, ahora categorizar sobre la situación dentro de un conjunto de mejores prácticas y finalmente responder con la mejor práctica para ese momento. Este entorno se vuelve muy predecible.
El dominio complicado lo explicaré con el ejemplo del ajedrez. El ajedrez es un juego que efectivamente tiene unas reglas claras, pero donde un pequeño movimiento puede llevar a grandes cambios en el juego. Si tú haces dos movimientos y tu oponente hace otros dos. Es muy probable que te encuentres con un tablero de juego diferente.
En el caso del ajedrez no nos sirven las mejores prácticas lo que necesitamos es el conocimiento experto. En este domino el conocimiento experto juega un papel fundamental para poder resolver problemas, en este caso la causa y el efecto son difíciles de predecir, tú puedes hacer una jugada de ataque de cuatro peones para abrir el juego y tu oponente puede responder con una jugada totalmente distinta, por ejemplo abrir con la dama de reina lo cual nos llevaría a un escenario completamente distinto, en este caso las aperturas podrían entrar dentro del terreno de lo obvio sobre todo si las sigues, pero rápidamente pasamos al momento de lo complicado. La mejor estrategia para responder dentro de este de este dominio es la de percibir analizar y responder.
El dominio complejo lo explicaré con el ejemplo del póker. El póker es un juego donde conocer tus cartas no te da mucha información sobre qué tienen tus compañeros y precisamente para ganar en póker, hay que saber qué hay en la mesa, qué cartas tienen tus compañeros y es por eso, cuando apostamos, estamos obteniendo información sobre lo que los demás tienen, lo cual guía nuestras acciones para el futuro. He aquí el conocimiento experto no juega un papel tan fundamental.
En este dominio tenemos que hacer pequeñas investigaciones que nos van a dar información en este caso apostar, nos va a dar información sobre que tienen nuestros compañeros, y en función de las pistas visuales o del lenguaje no verbal que tengan o como apuesten, ellos nos va a dar información para intentar tomar una decisión sobre cómo nosotros responder, no va a ser probablemente toda la información, pero sí nos va a permitir saber a dónde nos movemos.
Los entornos complejos, son los entornos donde se mueven la mayoría de las organizaciones y muchas organizaciones no lo saben. Normalmente las organizaciones contratan a expertos para que les digan qué es lo que tienen que hacer y no tienen en cuenta que lo que tienen que hacer primero es investigar.
El dominio del caos lo explicaré con el ejemplo de niños jugando, cuando los niños juegan, las reglas son completamente emergentes es decir lo que te funciona en un sitio no te funciona necesariamente en otro, además cambia continuamente. En esta etapa el niño se divierte con un juego y puede cambiar drásticamente a otro juego de forma impredecible. En este dominio no hay reglas, las reglas cambian continuamente y son tan volátiles que pueden cambiar sin que te hayas dado cuenta de que lo han hecho, lo que tenemos que hacer aquí en el dominio del caos ya no es investigar porque no sabemos las reglas con las que nos movemos. En este dominio es mejor actuar, inmiscuirte en el juego e intentar entender de qué va el juego y en función de eso responder y actuar lo que estamos haciendo. Todo el rato es un proceso de investigación, percibir y responder.(Todas las practicas serán adaptadas a la actual realidad)
Finalmente en la parte media del grafico podemos encontrar el desorden, el desorden no es un dominio realmente, más bien es cuando te encuentras utilizando prácticas con las que te sientes cómodo por encima de las prácticas que tienes que utilizar o las estrategias que tienes que seguir en el dominio en el que te encuentras, por ejemplo utilizar mejores prácticas cuando me muevo en un dominio complejo esto básicamente lo que nos va a llevar es a un desorden absoluto, esto es un claro ejemplo de lo que vemos en las organizaciones.
Y es aquí donde entra la agilidad por ejemplo Scrum, El framework Scrum se apalanca en ciclos cortos desarrollo y feedback constante, teniendo como filosofía los pilares de la transparencia y las oportunidades para inspeccionar y adaptarse. Utilizando correctamente los framework agiles, probablemente podamos alejarnos de las fronteras del caos.