A pandemia fez com que o interesse em descentralizar as grandes cidades e ter mais equilíbrio entre trabalho e vida pessoal só aumentasse, o que acabou “escancarando” um problema que as empresas já vinham enfrentando. Estamos falando da dificuldade de encontrar devs qualificados que vivessem perto o suficiente para trabalhar presencialmente em seus escritórios. Isso provocou uma evolução supply-initiated da forma como gerenciamos as equipes de desenvolvimento, que já são predominantemente remotas.
No entanto, esta mudança trouxe consigo um lado muito positivo, já que o trabalho remoto, aliado a um management bem consciente dos novos desafios que ele implica, podem traduzir-se em grande eficiência: colaboradores mais satisfeitos, maior produtividade e uma importante economia nos investimentos em contratação e gerenciamento.
Para obter todos esses benefícios, precisamos resolver dois desafios cruciais:
- O já “famoso” problema da oferta aparentemente inferior à demanda quando se trata de conseguir desenvolvedores qualificados.
- As mudanças que precisam ser feitas em matéria de gerenciamento para garantir que as equipes de desenvolvimento remoto sejam bem-sucedidas.
Cabe ressaltar que esses desafios não são exclusivos das PMEs e Startups, pois também “afetam” as FAANG.
Na Workana, cuidamos de resolver 100% do primeiro problema, pois te ajudamos a construir seu dream team com devs certificados e altamente comprometidos, com um processo de curadoria que inclui validação de perfil, certificação técnica e entrevista.
Já o segundo problema diz respeito à cultura organizacional e aos estilos de liderança internos. E neste terreno, existem três fatores centrais que você precisa levar em consideração. Confira:
Os 3 pilares de uma mudança eficiente dos métodos de gestão de equipes de talento remoto TI
1- Prioridades claras
Não importa se falamos de equipes em construção ou já consolidadas, a conscientização das prioridades deve ser a prioridade máxima. Embora possa soar redundante, na prática, é muito comum subestimar a importância desta “prioridade das prioridades” ou não adotar boas práticas para sustentar esta clareza a longo prazo.
Nenhum membro deveria ter dúvidas sobre o que fazer em momento nenhum. Nenhum membro deveria ter qualquer dúvida sobre por que fazer (ou continuar fazendo) o que precisa ser feito. É óbvio que podem surgir debates sobre essa questão e novos desafios sobre por que as prioridades são as que são. Mas, no fim das contas, todos têm que ter essa clareza, de preferência, sem a necessidade de perguntar.
Isso pode assumir várias formas e, embora não haja uma solução única para todos, é importante abordá-la em dois níveis. Em um nível granular:
- No Scrum: Manter um backlog já preparado para o próximo sprint.
- No Kanban: Manter o top of the queue priorizado pelo menos para as próximas 20 tarefas (o número exato vai depender do tamanho e da velocidade da equipe).
- E a mesma lógica se aplica a qualquer outra metodologia.
Já em um nível menos granular, mais no mid term (médio prazo), uma boa prática é focar em Team level OKRs que a equipe entenda, tenha participado da sua criação e compartilhe um senso de prioridade sobre eles. Existem muitos frameworks disponíveis para isso: Radical focus OKRs, V2MOM, etc. O importante é que a equipe possa priorizar suas tarefas granulares tendo como base objetivos mais claros.
2- Comunicação
A comunicação não se limita a que as pessoas tenham um espaço e a liberdade para dialogar, saibam quebrar o gelo falando de coisas pessoais e, pronto, *celebremos a união da equipe*. A comunicação diz respeito a como as dinâmicas dentro da equipe e ao redor dela se organizam para favorecer execuções claras, sem bloqueios nem mal-entendidos, e alcançar um engajamento que seja sustentável ao longo do tempo e que não seja caro de manter.
Com “caro de manter”, não me refiro à questão econômica/financeira, e sim à importância de que essas dinâmicas fluam naturalmente e não de forma forçada ou exigindo muito trabalho extra.
Neste âmbito, algumas das questões mais importantes a serem resolvidas são:
- Disponibilidade: Que a equipe saiba quem está disponível e quando (ou mais fácil ainda: quando alguém não está disponível). A solução pode ser tão simples como manter os calendários de cada membro atualizados e usar os status nos programas/plataformas de mensagens instantâneas (Slack, Microsoft Teams, Skype, etc) para avisar quando alguém saiu para almoçar ou foi ao médico, por exemplo.
- Estimativas: Que a equipe fale a mesma língua em termos de estimativas. Ferramentas como T-shirt sizing, fibonacci poker planning, story points, entre outras, ajudam a fazer estimativas de tempo e identificar quais são as tarefas de referência para as estimativas de complexidade. Cada membro da equipe precisa ter a resposta para essas perguntas.
- Designação/atribuição de tarefas: Que todos saibam no que cada um está trabalhando. Isso é importante para que haja uma dinâmica de equipe, para que a própria equipe possa determinar os impactos cruzados a tempo, e para que os gestores não precisem questionar os membros das suas equipes sobre o que estão fazendo com seu tempo.
- Bloqueios e aceleração: Algumas dinâmicas, como reuniões diárias de 15 minutos (exatos), backlog grooming sessions, planning sessions e retrospectivas, ajudam a lapidar o dia a dia da equipe e identificar problemas recorrentes que podem ser resolvidos.
- Equilíbrio: A quantidade/frequência das videochamadas e da comunicação síncrona não é diretamente proporcional à eficácia da equipe. Qualquer tempo síncrono que tomamos da equipe é tempo que tiramos do foco nas prioridades atuais. Manter um equilíbrio entre atividades síncronas e assíncronas é fundamental para dar à equipe um tempo de foco mais eficiente.
3- Colaboração
A colaboração nos ajuda a resolver 3 problemas em 1:
- Gerar engajamento
- Produzir entregáveis de maior qualidade
- Minimizar o risco de silos e distribuir o conhecimento para que todos saibam um pouco sobre tudo
Não é extremamente necessário encontrar uma solução para cada um desses problemas, mas as coisas que fazemos precisam abordar um pouco dos três. Um bom exemplo de colaboração é a programação em duplas (pair programming), só que fazer isso remotamente pode ser bastante estressante e contraproducente.
Porém, ter um processo de Solicitação de Pull (Pull Request) obrigatório para todas as alterações e com aprovação requerida pode forçar por processo as discussões que estamos buscando. Esses Pull Requests existem em todos os sistemas de versionamento atuais e, embora possam levar outros nomes (Merge Request, por exemplo), sempre se referem à mesma coisa. Quem fez a mudança discute com outra pessoa que a revisa para acertar quais alterações devem ser feitas para garantir que o código seja de qualidade e resolva o problema que deve resolver.
Embora isso resolva a questão da colaboração no dia-a-dia, é importante incorporar outros eventos ao SDLC (Software Development Lifecycle) que tragam novas oportunidades. Realizar revisões de arquitetura, sessões de trabalho para projetar uma solução antes de começar a programá-la, discutir problemas reais dos clientes, entre outros, são estratégias muito eficientes para conseguir engajamento, criar um senso de priorização e reduzir silos.
Nesta colaboração, a estrutura da equipe e a diversidade de antiguidades devem ser consideradas e analisadas cautelosamente. A diversidade de seniority/antiguidade deve garantir que as habilidades da equipe possam crescer constantemente, que todos tenham um desafio que cumprir e que sempre haverá alguém capaz de corrigir ou melhorar o código fonte dos outros.
Uma distribuição correta de seniority/antiguidade não abusa das funções Junior nem das Lead. Ter 10 leads não te torna mais rápido, assim como ter 10 Juniores não te garante uma redução de custos.
Resumindo…
Neste artigo, compartilhamos uma lista relativamente curta de coisas que você precisa levar em consideração para gerenciar equipes de talento remoto TI com a máxima eficiência. Porém, muitas delas podem ser resolvidas com práticas que se tornam cotidianas, fazendo com que o custo de realizá-las caia drasticamente.
Além disso, cabe ressaltar que assumimos, desde o início, que toda a equipe dispõe de meios tecnológicos adequados ao exercício de suas funções. Por exemplo: um computador com as especificações adequadas ao trabalho que precisa ser feito, uma conexão à Internet que atenda às necessidades específicas, um espaço adequado na casa de cada colaborador, etc.
Também é interessante ter em mente que envolver os colaboradores no processo de setup dessas necessidades é uma ótima maneira de dar-lhes um incentivo “extra”. Além de garantir que as preocupações dos profissionais estejam verdadeiramente orientadas às prioridades da equipe.
**Artigo escrito por Ezequiel Fariña, CTO da Workana
Estes artigos também podem ser úteis:
- Benefícios de contratar talentos remotos na sua empresa ou empreendimento
- Quais são os processos de recrutamento mais eficazes para atrair talentos de TI?
- OKRs: o que são e como usá-los para aumentar a eficiência no trabalho remoto
- Metodologia ágil: nova forma de trabalhar com equipes flexíveis e objetivos comuns.
- Tudo que você precisa saber se sua primeira experiência com um freelancer não foi como você esperava
- 5 Benefícios de investir em uma consultoria de talentos