Close

Team Topologies

Cómo influyen cuatro topologías fundamentales en una transformación al modelo DevOps.

Ian Buchanan

Ingeniero principal de soluciones

Contribución editorial: Shana Vu

Descubre qué ventajas tienen los equipos con flujos coordinados, cómo trabajan con los equipos de plataforma y los de subsistemas y cómo ayudan al resto de los equipos a ofrecer valor a los clientes.

Introducción a las topologías de equipo


Los equipos de ingeniería deben moverse más rápido que nunca para ofrecer valor a sus clientes. El auge de la nube, el software como servicio (SaaS) y los servicios ininterrumpidos implica que los clientes esperan nuevas funciones, menos errores y un tiempo de actividad del 99,99 % (o superior).

Para seguir el ritmo de esta demanda, las organizaciones adoptaron prácticas ágiles y, más recientemente, prácticas de DevOps, que prometen una comercialización y unos plazos más rápidos, mejoran la frecuencia de implementación, mejoran la cultura del equipo y aumentan la colaboración entre los equipos y departamentos.

Si bien adoptar prácticas de DevOps es más fácil decirlo que hacerlo, el libro Team Topologies ofrece algunas técnicas interesantes para que las organizaciones puedan incorporar la metodología DevOps a su empresa (por ejemplo, qué tipos de equipos podrían ser más efectivos). Este libro describe el punto de partida de Atlassian sobre cómo enfoca los equipos. En vez de reiterar sus conclusiones, queremos compartir nuestra propia perspectiva sobre los tipos de equipos.

El primer paso hacia una transformación al modelo DevOps es identificar la estructura organizativa que hay en la empresa. Ahora bien, hoy en día, las empresas tienen muchos tipos de equipos diferentes y, en algunos casos, equipos individuales que asumen múltiples funciones y responsabilidades. Esta expansión hace que a los responsables de equipo les cueste visualizar todo el organigrama y responder a preguntas como las siguientes:

Ver la solución

Herramientas DevOps para todo el equipo

Material relacionado

Crear una cultura de DevOps

  • ¿Tenemos los equipos adecuados?
  • ¿Nos faltan capacidades en algunas áreas que no está abordando ningún equipo?
  • ¿Los equipos cuentan con el equilibrio necesario entre autonomía y apoyo con respecto a otros equipos?

Los responsables de los equipos de desarrollo y operaciones pueden hacerse una idea más clara de si están trabajando los equipos adecuados observando la organización a través del libro Team Topologies. Recomendamos reducir el número de variaciones en los equipos a cuatro topologías de equipo fundamentales que sean fáciles de "digerir" tanto para la dirección como para los propios miembros de los equipos:

  • Equipo con flujos coordinados
  • Equipo de plataforma
  • Equipo de subsistemas complejos
  • Equipo habilitador

Ten presente que estos tipos de equipos pueden adoptar diferentes formas según el tamaño y la madurez de cada empresa. En realidad, el enfoque ideal sería combinar más de un tipo de equipo o que un equipo se transforme en otro.

1. Equipo con flujos coordinados


Los equipos con flujos coordinados se centran en un único flujo de trabajo que sea efectivo. Puede ser un único producto o servicio, un solo conjunto de funciones, un único recorrido de usuario o un solo perfil de usuario. El equipo tiene la capacidad de crear y ofrecer valor al cliente o usuario de la forma más rápida, segura e independiente posible, sin tener que entregar parte de su trabajo a otros equipos.

Debido a que los equipos con flujos coordinados participan en el espectro completo de la entrega, tienen que estar necesariamente más cerca del cliente y, por lo general, ya suelen trabajar con una metodología ágil. Este tipo de equipo incorpora los comentarios de los clientes a los ciclos de desarrollo, a la vez que mantiene el software en producción.

Si bien los equipos con flujos coordinados son habituales en muchas empresas de software, otras organizaciones pueden estar más familiarizadas con las estructuras de equipo organizadas por función (p. ej., equipos divididos en ingeniería, diseño, control de calidad, etc.) que por flujo de entrega.

Dado que el tipo de equipo con flujos coordinados es el más habitual en las organizaciones, el papel que desempeñan el resto de equipos se define con respecto a los equipos con flujos coordinados. Este tipo de equipos debe comunicarse periódicamente con los siguientes equipos de soporte (habilitadores, de subsistemas complejos y de plataforma) para mejorar continuamente la velocidad de entrega y la calidad de sus productos y servicios.

2. Equipo de plataforma


Los equipos de plataforma permiten que los equipos con flujos coordinados entreguen trabajo con una gran autonomía. Los equipos con flujos coordinados asumen toda la responsabilidad de la compilación, ejecución y corrección de una aplicación en producción, mientras que los equipos de plataforma se encargan de proporcionarles los servicios internos que pueden utilizar.

Los equipos de plataforma crean funciones que se pueden utilizar por varios equipos con flujos coordinados con una sobrecarga mínima. Al optimizar un producto, los equipos de plataforma minimizan los recursos y las cargas cognitivas de los equipos con flujos coordinados. Esto también beneficia a los usuarios finales, ya que los equipos de plataforma pueden crear una experiencia coherente que abarque diferentes experiencias de usuario o productos.

En Atlassian, los equipos de plataforma crean servicios que se utilizan en todos nuestros productos (como la gestión de identidades) y se espera que ofrezcan documentación, soporte y asesoramiento a los equipos con flujos coordinados.

3. Equipo de subsistemas complejos


Es responsabilidad de un equipo de subsistemas complejos crear y mantener una parte del sistema que depende de habilidades y conocimientos específicos. La mayoría de los miembros de este equipo deben ser especialistas en un campo de conocimiento concreto para entender cómo funciona el subsistema y saber realizar cambios en él.

El objetivo de este equipo es reducir la carga de los equipos con flujos coordinados que trabajan en sistemas que, a su vez, incluyen o utilizan el subsistema. Gracias a la experiencia y los conocimientos del equipo de subsistemas complejos, los equipos con flujos coordinados no se ven en la necesidad de crear funciones para campos que son demasiado complejos para su trabajo diario. Los miembros de este equipo pueden ser especialistas en determinados microservicios (por ejemplo, un servicio de facturación), algoritmos o incluso inteligencia artificial.

Un error que se comete habitualmente es integrar estos especialistas en cada equipo con flujos coordinados que utiliza el subsistema. Aparentemente puede parecer una maniobra eficiente, pero a la larga no sale a cuenta y queda fuera del alcance de los equipos con flujos coordinados.

4. Equipo habilitador


Los equipos con flujos coordinados trabajan bajo presión constante para entregar y responder a los cambios rápidamente, lo que les impide encontrar momentos para investigar, aprender y practicar habilidades nuevas.

Un equipo habilitador compuesto por especialistas de un determinado campo técnico (o de producto) les ayuda a encontrar esos momentos. Este tipo de equipo se encarga de investigar y probar herramientas, ecosistemas y marcos de trabajo nuevos para luego poder dar sugerencias fundamentadas que afectan a la pila de herramientas.

Así, los equipos con flujos coordinados pueden adquirir y desarrollar nuevas habilidades sin dejar de dedicar tiempo a sus objetivos principales. Básicamente, el equipo habilitador se encarga de dar más autonomía a los equipos con flujos coordinados ampliando sus capacidades, poniendo el foco en los problemas más que en las soluciones.

Si un equipo habilitador hace bien su trabajo, el equipo al que asista dejará de necesitar ayuda al cabo de unas semanas. El equipo habilitador nunca debe trabajar en una dependencia permanente.

¿Tienes un equipo con flujos coordinados?


En conclusión...


La metodología DevOps no es un destino, sino un viaje de mejora constante de herramientas, cultura de equipo y prácticas. Si es la primera vez que oyes hablar de DevOps, empieza por orientar tus objetivos para aportar valor a los clientes. A medida que tu empresa madure, incorpora la automatización a tus herramientas y procesos. Y, finalmente, cuando los miembros de tu equipo se conviertan en profesionales avanzados, incorpora la observabilidad para asegurarte de que estés supervisando, midiendo y mejorando los elementos adecuados.

Si acabas de emprender tu viaje con DevOps, aprende las prácticas recomendadas con nuestra guía para principiantes de DevOps. Para poner en práctica DevOps, recomendamos probar Open DevOps, ya que ofrece todo lo que los equipos necesitan para el desarrollo y las operaciones de software. Los equipos pueden crear la cadena de herramientas de DevOps que quieran gracias a las integraciones con los principales proveedores y aplicaciones de Marketplace. Pruébalo gratis ahora.

Ian Buchanan
Ian Buchanan

Ian Buchanan es ingeniero principal de Soluciones de DevOps en Atlassian, donde se centra en la comunidad emergente de DevOps y en la aplicación de Jira, Bitbucket y Bamboo para lograr una integración y una entrega continuas mejoradas. Si bien tiene una amplia y profunda experiencia con Java y .NET, se le conoce más por ser un defensor de las prácticas lean y ágiles en las grandes empresas.

A lo largo de su carrera, ha gestionado con éxito herramientas de desarrollo de software empresarial en todas las fases de su ciclo de vida, desde la adopción hasta la retirada. Ha impulsado la mejora de procesos en toda la organización, que ha dado como resultado una mayor productividad, calidad y satisfacción del cliente. Ha creado equipos ágiles multinacionales que valoran la autonomía en cuanto a dirección y organización. Cuando no está dando charlas o programando, Ian se dedica a otras de sus pasiones: los analizadores, la metaprogramación y los lenguajes específicos de dominio.


Compartir este artículo
Tema siguiente

Lecturas recomendadas

Consulta estos recursos para conocer los tipos de equipos de DevOps o para estar al tanto de las novedades sobre DevOps en Atlassian.

Ilustración de Devops

La comunidad de DevOps

Ilustración de Devops

Ruta de aprendizaje de DevOps

Ilustración de un mapa

Pruébalo gratis

Suscríbete para recibir el boletín de DevOps

Thank you for signing up