Team Topologies: aumente a eficiência do time de DevOps

Team Topologies é um conceito relativamente novo, mas que rapidamente ganhou a atenção de gestores responsáveis pelo desenvolvimento de softwares e DevOps.

Preocupados com a organização de equipes DevOps em empresas de tecnologia, Matthew Skelton e Manuel Pais escreveram o livro “Team Topologies”, considerado a peça fundamental de uma nova e evolucionária forma de garantir entregas mais ágeis e eficientes. 

O trabalho foi bem recebido, e as soluções sugeridas pelos autores vêm sendo implementadas com sucesso em empresas de diferentes portes. Por isso, neste conteúdo vamos mergulhar no conceito de Team Topologies para ajudar gestores de empresas brasileiras que querem melhorar a eficiência dos times de DevOps.

Você também pode conferir a nossa série de vídeos sobre Team Topologies no canal da ElvenWorks no Youtube:

https://youtube.com/playlist?list=PL_4byR_g8yLzxZb4s2uNrAKRavSBZFFyT

O que é Team Topologies?

Team Topologies é o termo que os autores Matthew Skelton e Manuel Pais utilizaram para descrever como as “topologias de equipes” devem ser organizadas para melhorar a sua comunicação e, assim, conseguir mais agilidade e melhores resultados no desenvolvimento e na entrega de softwares.

O que os autores observaram na sua experiência é que a desorganização na estrutura das equipes responsáveis por cada setor de desenvolvimento das soluções é um problema que se tornou muito comum. 

Em geral, o que se observa no contexto de equipes de desenvolvimento de softwares e DevOps é uma divisão entre funcionários altamente capacitados, afogados em problemas complexos, e funcionários menos experientes, lidando com problemas mais simples e comuns.

Muitas empresas costumam solicitar, por exemplo, que um colaborador responsável pelos recursos de facilitação de uma plataforma suspenda o trabalho ao qual se dedica para resolver um problema urgente relacionado a outra área.

Assim, os autores perceberam que estruturas estáticas de equipe são mais capazes de produzir entregas de softwares com o sucesso esperado, e que o trabalho poderia ter um rendimento superior se organizado seguindo uma lógica que favoreça a autonomia, a automatização e o auto serviço. Dessa forma, é possível equilibrar melhor a proatividade dos colaboradores, sem abdicar da governança do trabalho.

Para favorecer o trabalho das equipes de desenvolvimento e DevOps, seria necessário, então, separar os times de acordo com as responsabilidades e o foco pretendido. Além disso, dentro de um time que cuida de um produto mais amplo devem ser formadas equipes menores para tratar de problemas específicos.

Esses times focados em “problemas específicos” podem se dedicar a questões como:

https://youtu.be/2DDfyIqFnrk

Por que adotar o Team Topologies como abordagem?

Ao promover as mudanças necessárias para organizar a equipe de forma mais eficiente, as empresas conseguem uma série de vantagens.

Por exemplo, um dos principais problemas de empresas de tecnologia que lidam com o desenvolvimento de softwares e plataformas digitais é a dificuldade em cumprir prazos das entregas e atualizações solicitadas pelos clientes.

Assim, o princípio de dividir as equipes conforme suas capacidades de lidar com tarefas mais ou menos complexas, combinado a uma maior autonomia das equipes, proporciona o ambiente ideal para a produtividade dos profissionais, em um contexto no qual a agilidade para fornecer respostas deve ser a maior possível.

Primeiramente, existe a percepção de que os times que evoluem mais rápido são os que têm mais autonomia, pois conseguem experimentar, testar e validar suas hipóteses com dados de forma mais rápida do que quando precisam obter autorização para realizar cada etapa do processo.

Dessa forma, ao organizar as equipes como sugere o Team Topologies, os profissionais ganham liberdade para acompanhar as interações com os clientes e entender o que eles esperam, para então promover as adaptações sugeridas de forma mais rápida e efetiva.

team topologies

Como deve ser a organização básica de Team Topologies?

Para ter entregas modernas e otimizadas, que funcionam em um fluxo mais rápido de trabalho, Matthew Skelton e Manuel Pais sugerem quatro team types (tipos de equipe) fundamentais, que explicamos a seguir!

Stream-aligned Team

O Stream-aligned Team, ou Equipe Alinhada a uma Cadeia de Valor, deve ser uma equipe multifuncional focada na cadeia de valor do negócio. Alguma jornada de cliente ou operação interna que será otimizada. Esse time lida com um domínio principal e com a execução, de ponta a ponta, dos serviços oferecidos por um software.

Com o Stream-aligned Team, ao invés de os processos serem alternados entre equipes de desenvolvimento, teste, transição e lançamento, uma única equipe fica responsável por todo o fluxo. 

Basicamente, o objetivo é ter um time totalmente dedicado a conhecer os problemas dos clientes e implementar rapidamente as evoluções. Com isso conseguirá colher rapidamente os feedbacks para seguir aprimorando o produto na perspectiva dos clientes.

Enabling Team

O Enabling Team, ou Equipe Capacitadora, é, idealmente, um time temporário, que facilita a aquisição de um conhecimento por outro time e o ajuda a ganhar a maturidade e as habilidades necessárias para lidar com cenários específicos. 

É comum que grandes empresas contratem ou formem uma equipe capacitadora em cenários bastante distintos, como na realização de auditorias, na certificação ISO 27000 ou na adoção de uma nova tecnologia.

Complicated Subsystem Team 

O Complicated Subsystem Team, ou Equipe de Subsistema Complicado, é uma equipe opcional, na qual se reúnem os melhores profissionais para lidar com as tarefas mais complicadas.

O objetivo de contar com um time de especialistas para lidar com as tarefas mais difíceis é garantir que a entrega seja a melhor possível e evitar que o Stream-aligned Team fique paralisado enquanto a equipe lida com o problema.

Platform Team

Por fim, o Platform Team, ou Equipe de Plataforma, é o grupo de pessoas responsável por garantir um bom funcionamento de toda a engenharia que envolve os outros times. Essa equipe garante que o Stream-aligned Team tenha os recursos e autonomia necessária para entregar o trabalho.

Ou seja, o Platform Team cria e garante os recursos para que as outras equipes trabalhem de forma fluida e com o mínimo de sobrecarga. Seu foco é a otimização dos processos e sistemas adotados internamente.

Para concluir, ressaltamos que o Stream-aligned Team é a equipe essencial para o funcionamento do trabalho, pois tem como foco a cadeia de valor do negócio e o sucesso do cliente

Contudo, as demais equipes que formam o Team Topologies são o grande diferencial para que o trabalho do Stream-aligned Team seja focado, produtivo e eficaz.

Implementar a estrutura de Team Topologies é um passo fundamental para aumentar a eficiência das entregas dos times de DevOps. Mas, para entender como as mudanças promovidas estão influenciando no trabalho, é preciso acompanhar a evolução com métricas específicas para DevOps

Então, aproveite e confira nosso conteúdo sobre as DORA metrics para DevOps!

https://youtube.com/playlist?list=PL_4byR_g8yLyEzMBLIlkFguFhxJvABf0j
Rolar para cima