Pages Menu
Categories Menu

Posted by on Nov 27, 2017 in General | 1 comment

A un equipo deberías verlo como un sistema complejo…

Si de verdad estás muy metido en temas ágiles, y has llegado realmente a profundizar en el tema, en algún momento te habrás topado con la teoría de los sistemas complejos (yo algo te conté hace tiempo, y también te puede sonar, por el modelo Cynefin).

El modelo Cynefin ya lo dejaba claro, y conviene recordarlo antes de continuar este post, no es lo mismo “simple” (fácil de entender), que “complicado” (se puede comprender, aunque sea muy difícil) que “complejo” (la predicción es difícil, se aprende probando).

Y, para lo nuestro, gran cantidad de expertos ya dijeron en su día que un equipo software (extensible a equipo que crea conocimiento) es un sistema adaptativo complejo, como Jim Highsmith (firmante del manifiesto ágil), en su Adaptative Software Development (libro que, si no lo has hecho, deberías haber leído ya, hace años), Ken Schwaber (firmante del manifiesto ágil y co-autor de Scrum), en su libro Agile Software Development with SCRUM o el ya mencionado Applelo en su Management 3.0, entre otros.

La teoría de la complejidad es una teoría científica desde hace, relativamente, poco tiempo. Importantes autores como Appelo e incluso destacados científicos, como Stephen Hawking, han hablado de que la Complejidad es una de las ideas más importantes del siglo XXI.

Los equipos software, los de creación de productos del conocimiento y hasta los “proyectos” software son sistemas adaptativos complejos. Un sistema complejo se compone de agentes (elementos, partes) interconectados, que interactúan unos con otros, que juntos forman un todo y que constantemente se están organizando. Por ejemplo, agentes de un sistema complejo pueden ser cada uno de los peces que forman un gran banco de peces, los virus, cada una de las neuronas que forman el cerebro, cada uno de los ñu que forman la manada, cada uno de los zombies que forman una horda zombie y cada una de las personas de un equipo o proyecto.

En un equipo o proyecto… sólo las personas son agentes, en el sentido de agentes de un sistema complejo, porque son los únicos que pueden auto-organizarse, interconectarse, interactuar, etc. Los Gantt, requisitos, tableros ágiles, pósit, el Jira, Trello, y otros tantos, no son agentes del sistema complejo.

En cualquier sistema adaptativo complejo, desde una bandada de pájaros a un equipo de personas, los agentes interactúan, cada uno tiene su propia motivación, se adaptan, compiten y colaboran por un objetivo.

Además, si te fijas, en los sistemas complejos que hay en la naturaleza, los de toda la vida, como en un enjambre, el control está muy distribuido, más que centralizado, no hay un virus jefe, por ejemplo, y si hay una hormiga reina delega bastante en lo que hacen cada una de las hormigas obreras y un objetivo común. (el concepto ágil de auto-organización va por ahí).

¿Qué hubiese sido de los directores de las grandes películas de terror serie B sin los sistemas adaptativos complejos? ¿Cómo hubiesen quedado películas como Pirañas (1978), Enjambre (1977), La noche de los muertos vivientes (1968) o La humanidad en peligro (Them!) (1954) y sus hormigas mutantes?

Además, en un sistema adaptativo complejo, cada miembro, o agente, del grupo tiene su propia visión del mundo, que es una visión parcial, por lo que para obtener una visión más amplia hace falta unir las visiones, la información, de muchos agentes (¿te suena esto a técnicas como el plannning pocker?)

La idea de “complejidad” (la agilidad en sí, digo la agilidad de la buena, asume la complejidad) choca mucho con la idea de “predictivilidad” (el cascada en sí, asume la predictivilidad). De hecho, una de las claves de un sistema complejo es que no suele funcionar con soluciones simplistas (las que nosotros llamamos hacer un Cobra Kai) o muy pensadas para la certeza, como los cascada, Gantts, jerarquías de trabajo simplistas, pensar que documentando se solucionan las incertidumbres y complejidades, etc.

La complejidad lleva consigo la incertidumbre. Y si tratas con un sistema complejo lo peor que puedes hacer es tratarlo con un sistema complicado (ejemplo típico de aplicación de técnicas de ingeniería clásica, arquitectura, etc., a equipos y proyectos software).

Si sigo escribiendo sobre sistemas complejos y equipos de personas no termino y se me va el post., espero haber cumplido mi objetivo, que era darte a conocer el tema de los sistemas complejos, si no lo conocías, y despertar tu inquietud para seguir profundizando en este tema.

Javier Garzás

Javier Garzás

Ph.D. en informática, Postdoctorado en la Carnegie Mellon (EE.UU) e Ingeniero en Informática.

Primera vez que me tocó hacer una gestión Ágil en una empresa... año 2001. Desde entonces he trabajado en, o para, más de 90. Y he formado a más de 2000 alumnos.

También soy profe de la Universidad Rey Juan Carlos.
Javier Garzás

1 Comment

  1. Excelente lectura. Simplemente existe un typo en Applelo.

Post a Reply

Tu dirección de correo electrónico no será publicada.

Share This