Guía · Organización

Team Topologies

Cómo repartir a las personas en equipos para que el software fluya: qué tipos de equipo hay, cómo se relacionan y cuánto puede llevar cada uno. Esta guía cuenta el marco completo, fuera del caso del banco.

Marco: Team Topologies (Matthew Skelton y Manuel Pais)~15 min

De dónde sale

Matthew Skelton y Manuel Pais publicaron Team Topologies en 2019, después de años ayudando a empresas a adoptar DevOps. Vieron que muchas fallaban por lo mismo: cambiaban herramientas y procesos, pero no cómo estaban repartidas las personas, y el reparto acababa decidiendo la arquitectura y la velocidad.

El libro parte de una idea sencilla: el equipo es la unidad de entrega, no la persona. Un equipo estable, de cinco a nueve personas, que es dueño de una parte del software de principio a fin. Todo lo demás (tipos de equipo, formas de relacionarse, cuánto puede llevar cada uno) se construye encima de esa idea.

La ley de Conway y la maniobra inversa

En 1968, Melvin Conway escribió que las organizaciones que diseñan sistemas acaban produciendo diseños que copian su estructura de comunicación. Si tres equipos construyen un compilador, sale un compilador de tres fases. No es una ley de la naturaleza, sino una observación que se cumple con terquedad: lo que es fácil de coordinar dentro de un equipo acaba junto, y lo que cruza equipos acaba separado por una interfaz.

Team Topologies le da la vuelta: si el organigrama va a decidir la arquitectura, que la decida a propósito. Es la maniobra inversa de Conway: primero se piensa qué arquitectura se quiere (qué partes deben poder cambiar sin coordinarse) y después se forman los equipos con esa forma.

Para encontrar dónde cortar, el libro propone buscar planos de fractura: líneas por las que el software se puede partir con poco acoplamiento. Las más habituales:

Cortar por capas técnicas (un equipo de pantallas, otro de servicios, otro de base de datos) es el corte que la ley de Conway castiga más: casi cualquier cambio de negocio cruza las tres capas y, por tanto, los tres equipos.

Lo que cabe en la cabeza de un equipo

El segundo pilar es la carga cognitiva: todo lo que un equipo tiene que tener en la cabeza para hacer bien su trabajo. Viene de la psicología del aprendizaje (John Sweller), que distingue tres tipos:

TipoQué esQué hacer con ella
IntrínsecaLo fundamental de la tarea: el lenguaje, la tecnología de baseReducirla con formación y buenas herramientas
Ajena (extraneous)Lo que cuesta por cómo se trabaja: trámites, entornos, despliegues manualesEliminarla: no hace al equipo mejor en nada
Pertinente (germane)Lo que hay que aprender del dominio para hacerlo bienDejarle sitio: es donde el equipo aporta valor

La consecuencia práctica es que el tamaño de lo que lleva un equipo lo marca su carga, no su número de personas. Añadir gente a un equipo saturado no ayuda: cada persona nueva tiene que aprender todo lo que el equipo lleva, y las reuniones crecen. Lo que ayuda es reducir lo que el equipo tiene que saber: partir su dominio o quitarle la carga ajena.

En la serie De cero a neobanco se simplifica en dos tipos: carga del dominio (la intrínseca y la pertinente juntas) y carga ajena al dominio. Para decidir qué quitar a un equipo, la distinción que importa es esa.

Cuatro tipos de equipo

Team Topologies propone que casi cualquier organización se puede describir con solo cuatro tipos de equipo:

flujo de cambio → Seguridad enabling Catálogostream-aligned Comprastream-aligned Envíosstream-aligned Recomendadorcomplicated-subsystem Plataformaplatform
Una tienda en línea con la notación del libro: tres equipos stream-aligned en horizontal, siguiendo el flujo de cambio; la plataforma debajo; un equipo enabling en vertical, que acompaña a varios; y un complicated-subsystem al lado de quien lo usa.

Lo que no aparece en la lista también es una decisión: no hay equipos de «backend», de «QA» o de «arquitectura» como tipos permanentes. Si existen, el libro propone preguntarse a cuál de los cuatro tipos deberían parecerse.

Tres formas de relacionarse

Igual de importante que los tipos es cómo se hablan los equipos. El libro limita las relaciones a tres modos de interacción, cada uno con su coste y su momento:

Colaboracióntrabajan juntos un tiempo stream-alignedstream-aligned X-as-a-serviceuno consume lo que el otro ofrece stream-alignedplatform Facilitaciónuno ayuda al otro a aprender stream-alignedenabling
La notación de los tres modos: zona compartida para la colaboración, una conexión en forma de enchufe para el servicio y una línea de puntos para la facilitación.
ModoCuándo encajaQué cuesta
ColaboraciónHay que descubrir algo nuevo entre los dosMucha coordinación; frontera difusa. Debe durar poco
X-as-a-serviceLo que se ofrece ya existe y es establePoca coordinación; si lo ofrecido no está maduro, bloquea
FacilitaciónUn equipo tiene que aprender algo que va a necesitar siempreTiempo del especialista, acotado

La recomendación es que cada pareja de equipos tenga un modo claro en cada momento, y que sea explícito. La mayoría de los problemas entre equipos vienen de modos implícitos o equivocados: dos equipos «colaborando» indefinidamente en algo que ya podría ser un servicio, o un equipo que pide como servicio algo que aún no existe.

Para que el modo X-as-a-service funcione, el libro propone que cada equipo publique su API de equipo: no solo su API técnica, sino también cómo se le pide algo, qué documentación ofrece, cómo se comunica y qué se puede esperar de él.

La topología se mueve

Una topología no es un organigrama que se dibuja una vez. Las relaciones cambian a medida que el software madura: dos equipos colaboran para descubrir algo, y cuando está descubierto pasan a una relación de servicio. Un equipo enabling termina su trabajo y pasa a acompañar a otro. Un complicated-subsystem deja de serlo cuando su conocimiento se vuelve común.

Por eso el libro habla de sentir la organización: revisar cada cierto tiempo si los modos siguen encajando, si algún equipo está saturado o si aparecen señales como esperas largas, traspasos frecuentes o reuniones que no deberían hacer falta. Esta idea encaja con los mapas de Wardley: lo que está en génesis pide colaboración; lo que llega a producto, servicio.

Errores frecuentes

Dónde se ve en New Capital Bank

El acto 2 de De cero a neobanco cuenta el marco sobre el banco, y el acto 3 sigue con la plataforma:

Fuentes. Matthew Skelton y Manuel Pais, Team Topologies (IT Revolution, 2019) y teamtopologies.com. Melvin Conway, «How Do Committees Invent?», Datamation, 1968. La notación de los diagramas sigue la del libro, simplificada.