Uma estratégia para nivelar o conhecimento de um time em tempo recorde

Por volta de maio de 2020, ainda bem no começo da pandemia, nasceu na Ambev Tech um time responsável por construir a nova plataforma de promocionamento de produtos da Ambev no Brasil. O time já nasceu com todos trabalhando remotamente, ainda aprendendo a lidar com as novas rotinas, e com a explosão de reuniões no Zoom.

Excluindo outros papéis como product owner e coordenador, a composição do time era a seguinte:

  • Eu, recentemente promovido a arquiteto, mas com experiência no modelo de trabalho do Hércules
  • Outro arquiteto, recém chegado na companhia
  • Um estagiário ainda no ensino médio (que trabalhou bem e foi efetivado)
  • Alguns desenvolvedores com um ano ou menos de experiência, vindos do Programa Padawan, dos quais alguns tinham experiência com Python, C# ou React
  • Um desenvolvedor experiente recém chegado

Resumindo, tínhamos um time com backgrounds e experiências bastante variados, distribuindo num espectro bem amplo de competências, e com um desafio enorme à frente. Logo no começo, ficou claro que precisávamos nivelar rapidamente o time para garantir um começo forte para o novo produto.

Nossa estratégia

A estratégia que selecionamos foi a criação de um evento semanal de compartilhamento de conhecimento entre o time.

Este parece um passo natural para esse tipo de situação, mas nós invertemos a responsabilidade pelas apresentações. Não seriam os membros mais experientes apresentando ferramentas e tecnologias toda semana, mas aqueles que acabaram de aprendê-las pela primeira vez.

É claro que nesse caso, a curva de dificuldade vai ser bem acentuada para algumas pessoas. Por isso, muitas dessas atividades são desenvolvidas em grupo. Naturalmente, formam-se mobs no Zoom para resolver um problema, ou um desenvolvedor mais experiente entra junto no Zoom para ajudar e orientar o que for preciso.

Estagiário pode pegar atividades complexas?

No nosso time, a resposta é sim. Nós incentivamos todos do time a escolher, sempre que possível, atividades que estejam fora da sua zona de conforto.

Isso significa que uma atividade para criar um novo pipeline no Azure DevOps será preferencialmente executada por alguém que nunca criou ou mexeu com um pipeline de integração contínua.

Aprendizado intenso

Na Ambev Tech, estamos utilizando uma stack tecnológica moderna, e que naturalmente envolve dezenas de ferramentas e tecnologias.

Nossos microserviços são conteinerizados com Docker e rodam em clusters Kubernetes no AKS. Usamos Datadog para monitorar nossas aplicações, logs, e traces APM. Sentry para rastreamento de erros em produção. Bancos de dados relacionais e não relacionais. RabbitMQ e Azure Service Bus. Temos microserviços escritos em C#, Java, Python e Go. Microfrontends criados em React e Redux. SonarQube, Nexus, HotJar e muitas outras.

Como no começo, tudo era novo para a maioria do time, havia assunto de sobra para múltiplas apresentações semanais. Sempre que alguém do time pegava uma atividade que envolvia algo novo, como uma nova biblioteca, ferramenta, tecnologia, ou aplicava alguma técnica ou aprendia uma boa-prática, era logo incentivado a preparar uma apresentação para o time.

É dito que ensinar é a melhor forma de aprender. Ao preparar uma apresentação para o time, o indivíduo se força além do que aprendeu para a execução da atividade naquela Sprint.

Ao preparar uma apresentação, mesmo que curta, ele vai identificar eventuais gaps no seu entendimento do assunto, e pesquisar mais a fundo, aprofundando e fortalecendo seu aprendizado.

E ao apresentar para o grupo, dissemina esse conhecimento, e o domínio do time sobre a tech stack cresce exponencialmente.

Comparativo da influência do compartilhamento sobre o aprendizado do time

Um ambiente seguro

Como boa parte do time era novata na área, era imprescindível que proporcionássemos um ambiente seguro para eles fazerem essas apresentações.

Por isso, no começo, as apresentações eram só entre os dois arquitetos, que puxaram o evento, e os desenvolvedores com menos experiência. Apresentar para um grupo menor era menos exigente emocionalmente.

Nosso foco nesse momento era dar feedback para eles, livre de julgamento, para que melhorassem suas habilidades de apresentação e comunicação, até que se sentissem confortáveis em incluir outros membros do time.

Tínhamos dois modelos de apresentação, escolhida livremente pelo apresentador:

  • Light talks: apresentações curtas, entre 10 e 20 minutos de duração
  • Tech talks: apresentações de média e longa duração, de 30 minutos ou mais

A possibilidade de fazer apresentações curtinhas ajuda a tornar a experiência mais gerenciável no começo. Ao final de cada apresentação, temos uma sessão de perguntas e respostas.

Seguimos assim por algumas semanas. Em questão de menos de três meses, todo o time estava participando desse evento semanal. Toda sexta-feira terminava num momento descontraído de compartilhamento de conhecimento entre o time.

Num tempo bastante curto, eles perderam o medo de apresentar. A comunicação entre o time melhorou, o nível dos PPTs aumentou bastante, e o time acobou alcançando performance invejável.

Hoje, todas nossas apresentações são gravadas e disponibilizadas para todas a empresa. Como o time já está bem estabelecido, aumentamos o evento, que engloba hoje mais alguns squads, garantindo assim a continuidade do evento e proporcionando grandes trocas de experiência.

Um time de alta performance

Na Ambev Tech, utilizamos alguns indicadores de engenharia inspirados no livro Accelerate: The Science of Lean Software and DevOps.

Para ilustrar o resultado que obtivemos em poucos meses, ao final de 2020, nossos números já eram bastante expressivos:

  • Lead Time de 20 dias (por épico, da priorização numa Sprint até a finalização)
  • MTTR (Mean Time to Restore) de 13 minutos
  • Deploy Frequency de 2,6 deploys por dia em produção
  • Change Failure Rate de 3,5%, indicando que apenas 3,5% das versões introduziram erros identificados em produção
  • 95 pontos na pesquisa de NPS

Reflexão

Esta estratégia funcionou muito bem para o nosso time, e está se espalhando para outros cantos da Ambev Tech. Com ela, conseguimos evitar um cenário aprendizado individualizado, e alcançamos um modelo em que o aprendizado é coletivo; em que as ideias se espalham mais rápido, fluem e geram frutos generosos. Criamos um time forte, com um excelente relacionamento; um time em que a colaboração é um cidadão de primeira ordem.

Para mim, o importante é tratarmos uns aos outros com respeito e humildade, e saber ouvir.

Às vezes, precisamos deixar nossa zona de conforto, e nos colocarmos em posição de professores. Já em outras, tudo que precisamos fazer, é vestir a faixa branca e estarmos dispostos a aprender.

Podcast

Tive a oportunidade de falar também sobre esse assunto no Ambev Tech Talk. Você pode conferir este episódio neste link, ou também abaixo:

Outras opções para compartilhar:
comments powered by Disqus