La estructura del equipo de DevOps: tipos, funciones y responsabilidades

Cada equipo requiere una estructura diferente segĂșn el contexto general de la empresa.

Prueba Compass gratis

Mejora tu experiencia de desarrollador, cataloga todos los servicios y mejora el estado del software.

Cuando un equipo de software estĂĄ en proceso de adoptar la metodologĂ­a DevOps, es importante tener en cuenta que cada equipo deberĂĄ estructurarse de una forma distinta segĂșn el contexto general de la empresa y sus ganas de cambio.

El auge de los equipos de DevOps

¿Tienes un equipo de DevOps en tu empresa? Es muy posible que sí. En nuestra encuesta sobre tendencias de DevOps, mås de dos tercios de las organizaciones encuestadas afirmaron tener un equipo o una persona con la palabra "DevOps" en alguna de sus funciones. 

A medida que DevOps se va generalizando, a menudo oímos que los equipos de software ahora son equipos de DevOps. Sin embargo, el hecho de incorporar herramientas nuevas o llamar a un equipo "de DevOps" no es suficiente para aprovechar plenamente las ventajas que ofrece DevOps. 

Sin una comprensiĂłn clara del modelo DevOps y cĂłmo implementarlo correctamente, una transformaciĂłn a este modelo normalmente se limitarĂĄ a una reorganizaciĂłn o a la incorporaciĂłn de las Ășltimas herramientas del mercado. La correcta adopciĂłn del modelo DevOps pasa por un cambio cultural, que consiste en reestructurar los equipos, regirse por nuevos principios de gestiĂłn e incorporar determinadas herramientas tecnolĂłgicas.

Tipos de estructuras de equipo en DevOps

Antes de decidir quĂ© estructura de equipo de DevOps conviene implementar, es necesario tener en cuenta varios factores, como el nĂșmero de productos en los que trabaja una organizaciĂłn, los puestos de liderazgo tĂ©cnicos y si los equipos de desarrollo y operaciones tienen la capacidad de sincronizar sus procesos.

Es importante entender que no todos los equipos tienen los mismos objetivos ni utilizarĂĄn las mismas prĂĄcticas y herramientas. Incluso la forma en la que se estructura un equipo no deberĂ­a estandarizarse. Cada equipo requiere una estructura diferente segĂșn el contexto general de la empresa y sus ganas de cambio. Un equipo de DevOps de dos empresas diferentes puede significar dos cosas completamente distintas. 

Para aprovechar todas las ventajas (como una comercializaciĂłn mĂĄs rĂĄpida, una frecuencia de implementaciĂłn mejorada, una mejor cultura de equipo y una mayor colaboraciĂłn entre equipos y departamentos), es importante entender el papel que desempeña cada equipo. Aun asĂ­, en muchas organizaciones hay equipos con varios nombres que asumen mĂșltiples cargos (por ejemplo, un equipo de infraestructura actĂșa como selector y encargado de mantener las herramientas). Esta expansiĂłn hace que a los responsables de equipo les cueste visualizar todo el organigrama y responder a preguntas importantes como las siguientes: ÂżTenemos los equipos adecuados?, ÂżNos faltan capacidades en algunas ĂĄreas que no estĂĄ abordando ningĂșn equipo? ÂżParece que los equipos cuentan con el equilibrio necesario entre autonomĂ­a y apoyo con respecto a otros equipos?

El gran trabajo que ha hecho el equipo de Team Topologies ha servido como punto de partida para Atlassian en cuanto a su forma de entender los diferentes enfoques de equipo de DevOps. Ten presente que las estructuras de equipo que se indican a continuaciĂłn 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 una estructura o que una estructura se transforme en otra.

ColaboraciĂłn entre los equipos de desarrollo y operaciones

Mucha gente cree que la metodología DevOps consiste en hacer que los equipos de desarrollo y operaciones trabajen y colaboren de forma coordinada. Esta es la base de DevOps y aporta ventajas claras, entre las que se incluye la capacidad por parte de los equipos de software de compilar, probar y lanzar de forma mås råpida y fiable.  

La clave del éxito de esta estructura de equipo es que los desarrolladores comprendan la presión que tienen los equipos de operaciones para mantener el tiempo de actividad y minimizar las resoluciones. Igual de importante es que los equipos de operaciones comprendan el deseo de los equipos de desarrollo de reducir el tiempo de implementación y los plazos de lanzamiento.

Desarrollo y operaciones, juntos

En esta estructura de equipo, se asume que el desarrollo y las operaciones van de la mano y trabajan en un mismo equipo, actuando como un frente Ășnico con objetivos compartidos. A veces, este tipo de estructura recibe el nombre de "NoOps", sobre todo en grandes empresas tecnolĂłgicas que tienen un solo producto digital principal, como Facebook o Netflix. Esta situaciĂłn puede incluso dar lugar a que las mismas personas tengan que desarrollar y operar las aplicaciones al estilo "tĂș lo creas, tĂș lo gestionas".

DevOps/SRE

Esta estructura de equipo, popularizada por Google, consiste en que un equipo de desarrollo entrega un producto al equipo de ingeniería de fiabilidad del sitio (SRE), que es quien realmente ejecuta el software. En este modelo, los equipos de desarrollo proporcionan registros y otros artefactos al equipo de SRE para demostrar que su software cumple unos eståndares suficientes para que el equipo de SRE le dé el visto bueno. Los equipos de desarrollo y SRE colaboran siguiendo unos criterios operativos. Los equipos de SRE tienen la capacidad de pedir a los desarrolladores que mejoren el código antes de enviarlo a producción.

Operaciones como plataforma

En esta estructura de equipo, un equipo dentro del equipo de desarrollo actĂșa como fuente de conocimientos en todas las operaciones y trabaja en la mayor parte de la interfaz con el equipo de infraestructura como servicio (IaaS). Esta estructura de equipo depende de las aplicaciones que se ejecutan en una nube pĂșblica, ya que el equipo de IaaS crea servicios virtuales escalables que utiliza el equipo de desarrollo.

DevOps como parte externa

Hay empresas que utilizan la metodología DevOps a través de un consultor o un equipo de DevOps externo durante un periodo concreto para ayudar a sus equipos de desarrollo y operaciones a avanzar hacia las dos primeras estructuras de equipo mencionadas (es decir, colaboración entre los equipos de desarrollo y operaciones, y desarrollo y operaciones, juntos).

Si bien hay varias formas de adoptar la metodología DevOps, también hay muchas formas de no hacerlo. Los equipos y responsables de DevOps deben tener cuidado con los antipatrones, que se caracterizan por la división de equipos, la falta de comunicación y una priorización errónea de las herramientas por encima de la comunicación.

Funciones y responsabilidades de los equipos de DevOps

Independientemente de la estructura que tenga tu equipo, todos los equipos de alto rendimiento que utilizan la metodología DevOps comparten regularmente sus conocimientos y experiencias de desarrollo y operaciones, ya sea en reuniones periódicas, poniendo varias personas a trabajar en ambos equipos o haciendo que los miembros del equipo desempeñen ambas funciones. Un equipo de alto rendimiento se caracteriza por las ventajas que ofrece la metodología DevOps, es decir, una comercialización mås råpida, unos plazos mejorados, una mayor frecuencia de implementación, unas entregas de mejor calidad, una mejor cultura de equipo y una mayor colaboración entre equipos y departamentos. 

Los equipos de DevOps suelen estar compuestos por personas con habilidades tanto de desarrollo como de operaciones. A algunos miembros se les darå mejor la programación y a otros, la operación y administración de infraestructuras. Sin embargo, en las grandes empresas, cada aspecto de la metodología DevOps (desde la CI/CD hasta la IaaS y la automatización) puede materializarse en una función. Por ejemplo, un gestor de publicaciones que coordine y administre aplicaciones desde la fase de desarrollo hasta la de producción, arquitectos de automatización que mantengan y automaticen la canalización de CI/CD del equipo, etc. 

Así pues, ¿qué se necesita para unirse a un equipo de DevOps? Los requisitos laborales para unirse a un equipo de DevOps evolucionan debido a las nuevas tecnologías y técnicas, pero las cualidades de un buen equipo de DevOps son siempre las mismas: tener unas habilidades técnicas sólidas, buenas dotes de comunicación, una mentalidad de trabajo en equipo y la capacidad de adaptarse. Estas solo son algunas de las características principales de un profesional de DevOps consumado. Contar con una combinación de estas aptitudes es probablemente mås importante que tener un conocimiento enciclopédico de Kubernetes o Git. Ahora bien, si se tienen las dos cosas, ¥mejor que mejor!

Otro ingrediente para el éxito es contar con un líder dispuesto a evangelizar la metodología DevOps en un equipo, los equipos colaborativos y toda la organización en general. No tiene por qué ser alguien con la palabra "gerente" en su cargo, pero sí alguien dispuesto a convencer a los miembros escépticos de los equipos para empezar a acortar distancias entre su equipo y los demås, ya sean de desarrollo, operaciones o plataforma.

Software para reforzar tu equipo

Al final, el trabajo que hace un equipo a diario es el que determina quĂ© cadena de herramientas de DevOps necesita. Aun asĂ­, necesitarĂĄs contar con algĂșn tipo de software que conecte y coordine el trabajo entre tu equipo y el resto de la organizaciĂłn. Jira es una potente herramienta que planifica, supervisa y gestiona proyectos de desarrollo de software, manteniendo a tus compañeros de equipo mĂĄs cercanos y al resto de la organizaciĂłn al tanto del estado de tu trabajo. 

Aplicaciones como Zoom, Slack y Microsoft Teams también son necesarias para una comunicación råpida y eficiente entre equipos, especialmente en un mundo que da prioridad al trabajo en remoto. Antes, un desarrollador podía ir al equipo de operaciones para preguntarle acerca del estado de un incidente. Sin embargo, ahora las aplicaciones de comunicación virtual proporcionan esa misma comunicación instantånea. 

Open DevOps de Atlassian 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. Porque creemos que deben poder trabajar como quieren y no como pretenden los proveedores. Pruébalo ahora gratis.

Recomendado para ti

La comunidad de DevOps

Ruta de aprendizaje de DevOps

Pruébalo gratis