Crie a estrutura ideal da equipe de DevOps
Não existe uma receita de bolo para encontrar o equilíbrio ideal na sua equipe de DevOps.
Uma plataforma de DevOps sólida precisa de uma estrutura de equipe de DevOps sólida para alcançar a eficiência máxima.
Construir uma estrutura robusta de equipe de DevOps não se resume a reunir um grupo de indivíduos com habilidades técnicas, é necessário promover uma cultura de DevOps que enfatize a colaboração, a melhoria contínua e a eficiência em todo o ciclo de vida do produto.
À medida que as organizações buscam simplificar seu processo de desenvolvimento de software, é vital entender as funções do engenheiro de DevOps e da equipe de desenvolvimento e como as ferramentas de automação podem aumentar a produtividade. Essa visão holística ajuda a moldar uma estrutura de DevOps que atenda aos objetivos de entrega de software confiável e um ambiente de trabalho produtivo.
Vários fatores entram em jogo quando se trata da estrutura da equipe:
- Silos existentes: existem conjuntos/equipes de produtos que trabalham de forma independente?
- Liderança técnica: os gerentes dos grupos estão preparados para alcançar as metas de DevOps?
- Mudança de funções: a divisão entre as tarefas de operações e as funções de desenvolvimento não é mais tão clara, as equipes de segurança trabalham com todos e a tecnologia está mudando. Espere ter que reavaliar tudo com frequência.
- Melhoria contínua: uma equipe de DevOps nunca estará totalmente pronta. A iteração será sempre necessária.
A divisão de desenvolvimento e operações em equipes separadas muitas vezes leva a desafios no processo de implantação. No entanto, adotar uma cultura de DevOps em que ferramentas comuns são integradas pode preencher essas lacunas.
O consultor de gerenciamento Matthew Skelton escreve de forma detalhada sobre vários cenários de DevOps, mas discutiremos apenas alguns dos silos que ele menciona especificamente e como eles afetam uma organização.
Skelton se refere a isso como uma estrutura de equipe clássica "sem comunicação", o que não é a estratégia de DevOps mais eficaz. Ambas as equipes trabalham em suas bolhas e não têm visibilidade do fluxo de trabalho uma da outra. Essa separação completa carece de colaboração, visibilidade e compreensão – componentes vitais do que deve ser um DevOps eficaz. O que acontece é essencialmente uma transferência de culpa, e é comum ouvir esse tipo de frase: "Não sabemos o que estão fazendo lá, fizemos a nossa parte e agora a responsabilidade é deles".
Nesta estrutura, ainda há equipes separadas de desenvolvimento e operações, mas agora há uma equipe de "DevOps" intermediária que funciona como uma espécie de facilitador. Isso não é necessariamente ruim, e Skelton enfatiza que esse modelo é bom para alguns casos de uso. Por exemplo, se esta é uma solução temporária com o objetivo de tornar o desenvolvimento e as operações mais coesas no futuro, pode ser uma boa estratégia provisória.
Nesse cenário, o desenvolvimento e o DevOps são combinados, enquanto as operações permanecem em silos. Organizações que adotam esse modelo ainda veem as operações como algo que apoia as iniciativas de desenvolvimento de software, mas não como algo que tenha valor próprio. Esse tipo de organização sofre com erros operacionais básicos e pode ter muito mais sucesso se entender o valor que as operações oferecem.
Para quebrar os silos de equipes de DevOps, é preciso liderança em todos os níveis. Comece pedindo para cada grupo identificar as principais áreas de atrito e, em seguida, identifique os líderes de cada grupo: desenvolvimento, operações, segurança, teste. Cada líder deve trabalhar individualmente e em conjunto em todos os pontos de atrito.
A comunicação é de suma importância: as equipes precisam ouvir feedback com frequência sobre todos os aspectos de suas funções.
Também pode ser útil incluir "campeões" em grupos com dificuldades, pois eles podem modelar comportamentos e estilos de comunicação que facilitam a colaboração.
Os avanços tecnológicos, do multicloud aos microsserviços e contêineres, também desempenham um papel quando se trata de definir a estrutura ideal da equipe de DevOps. Na nossa Pesquisa Global de DevSecOps de 2020, 83% dos entrevistados disseram que suas equipes lançam códigos mais rapidamente, mas também disseram que suas funções estavam mudando drasticamente em alguns casos.
Os desenvolvedores de hoje criam, monitoram e mantém as infraestruturas, funções que eram tradicionalmente da alçada dos profissionais de operações. As operações estão passando mais tempo gerenciando serviços em nuvem, enquanto a equipe de segurança trabalha em equipes multifuncionais com o pessoal de desenvolvimento e operações mais do que nunca.
O ciclo de vida do desenvolvimento de software atualmente tem muitas partes móveis, o que significa que definir a estrutura ideal para uma equipe de DevOps será algo fluido, necessitando de reavaliação constante.
No GitLab, a iteração é um dos principais valores. E é algo que praticamos muito quando se trata da nossa própria estrutura de equipe de DevOps. Como o GitLab é uma plataforma de DevOps completa oferecida como uma aplicação única, nossas equipes de desenvolvimento são organizadas em etapas (por exemplo, Verificar, etc.), pois elas seriam produtos separados em qualquer outra empresa e exigiriam autonomia. Também temos outros grupos funcionais de DevOps, além do desenvolvimento que gerenciam outros aspectos do nosso produto.
Temos um grupo de confiabilidade que gerencia o tempo de atividade e a confiabilidade do GitLab.com, um departamento de qualidade e uma equipe de distribuição, só para citar alguns exemplos. É por meio do nosso compromisso com a transparência e nossa visibilidade em todo o SDLC que todas essas peças conseguem trabalhar juntas. Mas também ajustamos (ou seja, iteramos) essa estrutura com frequência para que tudo funcione.
Conclusão: planeje a construção da sua equipe de DevOps, mas sempre repense como melhorá-la. Os benefícios de lançar código mais rapidamente e ter uma equipe mais satisfeita compensarão o esforço.
O processo de otimização da estrutura de uma equipe de DevOps é iterativo, refletindo os avanços contínuos nos processos e ferramentas de DevOps. Cada elemento tem um papel fundamental para o sucesso da equipe. Ao eliminar os silos tradicionais e integrar as funções nas equipes de DevOps, as organizações podem promover um ambiente mais coeso e eficiente.
Em última análise, o segredo para uma melhoria contínua é reavaliar e aprimorar regularmente a estrutura de DevOps para acompanhar as demandas em constante evolução na produção e implantação de software. Esse compromisso não apenas acelera o processo de desenvolvimento de software, mas também torna a empresa mais resiliente e responsiva.
Mapeamento do cenário de DevSecOps
Tudo pronto para começar?
Descubra o que sua equipe pode fazer com a mais abrangente plataforma DevSecOps com tecnologia de IA.