DevOps & Cultura

Team Topologies: aumenta la eficiencia de tu equipo de DevOps

Cómo organizar los equipos de DevOps en torno al flujo de entrega, en lugar de en torno al organigrama.

Dos profesionales de tecnología conversando frente a paneles de monitoreo

Team Topologies es un concepto relativamente nuevo, pero que rápidamente captó la atención de los líderes responsables del desarrollo de software y de DevOps.

Preocupados por la organización de los equipos DevOps en las empresas de tecnología, Matthew Skelton y Manuel Pais escribieron el libro “Team Topologies”, considerado la pieza fundamental de una forma nueva y evolutiva de lograr entregas más ágiles y eficientes.

El trabajo fue bien recibido, y las soluciones que proponen los autores se vienen implementando con éxito en empresas de distintos tamaños. Por eso, en este contenido vamos a profundizar en el concepto de Team Topologies para ayudar a los líderes que quieren mejorar la eficiencia de sus equipos de DevOps.

También puedes ver nuestra serie de videos sobre Team Topologies en el canal de Elven en YouTube:

¿Qué es Team Topologies?

Team Topologies es el término que los autores Matthew Skelton y Manuel Pais utilizaron para describir cómo deben organizarse las “topologías de equipos” para mejorar su comunicación y, así, lograr más agilidad y mejores resultados en el desarrollo y la entrega de software.

Lo que los autores observaron en su experiencia es que la desorganización en la estructura de los equipos responsables de cada área de desarrollo de las soluciones se volvió un problema muy común.

En general, lo que se observa en el contexto de los equipos de desarrollo de software y DevOps es una división entre profesionales altamente capacitados, ahogados en problemas complejos, y profesionales con menos experiencia, que lidian con problemas más simples y comunes.

Muchas empresas suelen pedir, por ejemplo, que un colaborador responsable de los recursos de facilitación de una plataforma suspenda el trabajo al que se dedica para resolver un problema urgente relacionado con otra área.

Así, los autores se dieron cuenta de que las estructuras de equipo estables son más capaces de producir entregas de software con el éxito esperado, y de que el trabajo podría rendir más si se organizara siguiendo una lógica que favorezca la autonomía, la automatización y el autoservicio. De esta forma, es posible equilibrar mejor la proactividad de los colaboradores sin renunciar a la gobernanza del trabajo.

Para favorecer el trabajo de los equipos de desarrollo y DevOps, sería necesario, entonces, separar los equipos según sus responsabilidades y el foco buscado. Además, dentro de un equipo que se ocupa de un producto más amplio, deben formarse equipos más pequeños para tratar problemas específicos.

Estos equipos enfocados en “problemas específicos” pueden dedicarse a temas como:

  • Seguridad
  • Canal de ventas e-commerce
  • Gestión de incidentes;
  • Experiencia mobile
  • Integración entre dispositivos
  • Actualizaciones de funcionalidades

¿Por qué adoptar Team Topologies como enfoque?

Al promover los cambios necesarios para organizar el equipo de forma más eficiente, las empresas obtienen una serie de ventajas.

Por ejemplo, uno de los principales problemas de las empresas de tecnología que desarrollan software y plataformas digitales es la dificultad para cumplir los plazos de las entregas y actualizaciones que piden los clientes.

Así, el principio de dividir los equipos según su capacidad de lidiar con tareas más o menos complejas, combinado con una mayor autonomía de los equipos, ofrece el entorno ideal para la productividad de los profesionales, en un contexto en el que la agilidad para dar respuestas debe ser la mayor posible.

En primer lugar, existe la percepción de que los equipos que evolucionan más rápido son los que tienen más autonomía, porque pueden experimentar, probar y validar sus hipótesis con datos más rápido que cuando necesitan pedir autorización para cada etapa del proceso.

De esta forma, al organizar los equipos como sugiere Team Topologies, los profesionales ganan libertad para seguir las interacciones con los clientes y entender lo que esperan, para luego hacer los ajustes sugeridos de forma más rápida y efectiva.

¿Cómo debe ser la organización básica de Team Topologies?

Para lograr entregas modernas y optimizadas, que funcionen en un flujo de trabajo más rápido, Matthew Skelton y Manuel Pais proponen cuatro team types (tipos de equipo) fundamentales, ¡que explicamos a continuación!

Stream-aligned Team

El Stream-aligned Team, o Equipo Alineado a un Flujo de Valor, debe ser un equipo multifuncional enfocado en el flujo de valor del negocio: algún recorrido del cliente u operación interna que se va a optimizar. Este equipo se ocupa de un dominio principal y de la ejecución, de punta a punta, de los servicios que ofrece un software.

Con el Stream-aligned Team, en lugar de que los procesos se repartan entre equipos de desarrollo, pruebas, transición y lanzamiento, un único equipo se hace responsable de todo el flujo.

Básicamente, el objetivo es tener un equipo totalmente dedicado a conocer los problemas de los clientes e implementar las mejoras rápidamente. Así podrá recoger feedback rápido para seguir mejorando el producto desde la perspectiva de los clientes.

Enabling Team

El Enabling Team, o Equipo Habilitador, es idealmente un equipo temporal que facilita que otro equipo adquiera un conocimiento y lo ayuda a ganar la madurez y las habilidades necesarias para lidiar con escenarios específicos.

Es común que las grandes empresas contraten o formen un equipo habilitador en escenarios muy distintos, como en la realización de auditorías, en la certificación ISO 27000 o en la adopción de una nueva tecnología.

Complicated Subsystem Team

El Complicated Subsystem Team, o Equipo de Subsistema Complicado, es un equipo opcional que reúne a los mejores profesionales para lidiar con las tareas más complicadas.

El objetivo de contar con un equipo de especialistas para las tareas más difíciles es garantizar que la entrega sea la mejor posible y evitar que el Stream-aligned Team quede paralizado mientras se resuelve el problema.

Platform Team

Por último, el Platform Team, o Equipo de Plataforma, es el grupo de personas responsable de garantizar el buen funcionamiento de toda la ingeniería que involucra a los demás equipos. Este equipo garantiza que el Stream-aligned Team tenga los recursos y la autonomía necesarios para entregar su trabajo.

Es decir, el Platform Team crea y garantiza los recursos para que los demás equipos trabajen de forma fluida y con la mínima sobrecarga. Su foco es la optimización de los procesos y sistemas adoptados internamente.

Para concluir, destacamos que el Stream-aligned Team es el equipo esencial para el funcionamiento del trabajo, porque se enfoca en el flujo de valor del negocio y en el éxito del cliente.

Sin embargo, los demás equipos que forman Team Topologies son el gran diferencial para que el trabajo del Stream-aligned Team sea enfocado, productivo y eficaz.

Implementar la estructura de Team Topologies es un paso fundamental para aumentar la eficiencia de las entregas de los equipos de DevOps. Pero, para entender cómo los cambios están influyendo en el trabajo, hay que seguir la evolución con métricas específicas para DevOps.

¡Así que aprovecha y mira nuestro contenido sobre las DORA metrics para DevOps!

Dónde entra la observabilidad en esta ecuación

Team Topologies organiza quién hace qué. La observabilidad garantiza que todos esos equipos vean la misma operación: sin un mapa común de métricas, logs y traces, cada squad interpreta el incidente según la parte que alcanza a ver — y el equipo de plataforma se convierte en un cuello de botella de diagnóstico en lugar de un facilitador.

¿Quieres darles a todos tus equipos la misma visión de la operación? Habla con el equipo de Elven.

WhatsApp