7 Dicas Para Gestão de Desenvolvedores de Software

Como liderar uma equipe técnica de maneira eficiente

Tera
Somos Tera
5 min readNov 10, 2019

--

Por GitPrimeBlog (publicado originalmente aqui, em inglês)

Photo by Randy Fath on Unsplash

Gerenciar uma equipe de desenvolvimento de softwares tem muita coisa em comum com gerenciar qualquer outra equipe de pessoas. Desenvolvedores querem profissionais de gestão que os ajudem a resolver problemas de negócios, que os protejam de políticas do escritório e os ajudem a atingir suas metas de carreira. Porém, desenvolvedores e desenvolvedoras exigem algumas técnicas específicas de gestão que incentivam sua produtividade.

Zach Holman vai direto ao ponto:

Aqui vão sete dicas específicas de gestão de uma equipe de engenharia de software:

1. Deixe que façam seu trabalho

Um dos desejos mais comuns é por um gestor ou gestora que reconheça suas habilidades e confie que o trabalho será entregue no prazo. Deixe que escrevam códigos — é o que lhes dá mais prazer.

Você só precisa encontrar uma forma para que façam isso beneficiando a empresa. Parte dessa confiança é dar o tempo necessário para pensar além da programação. A oportunidade de inventar soluções por conta própria vai contribuir para manter a criatividade em alta.

2. Tire da frente tudo o que não for programação

Atividades que não envolvem a criação de códigos não têm importância para a maioria das equipes de desenvolvimento. Em sua opinião, o trabalho mais importante da administração de uma equipe é poupá-los da perda de tempo em reuniões que nada têm a ver com a parte técnica e papelada administrativa.

Photo by Kelly Sikkema on Unsplash

O importante é ter alguém que forneça uma lista de tarefas hierarquizada, com prioridades quem fazem sentido.

Ninguém gosta de deadlines irreais — e uma das únicas formas de mitigar isso é dar clareza aos requisitos logo no início. Seja diligente com bons pré-requisitos. É a única forma de verdadeiramente entender o escopo e administrar expectativas em torno dos prazos de entrega de uma forma razoável.

Quando os entregáveis são muito distantes da expectativa, surge vemos uma sobrecarga operacional. O melhor momento para resolver isso é no começo do processo, investindo em uma organização dos pedidos e garantindo que stakeholders estejam fazendo pedidos de trabalho de forma responsável.

3. Escute e responda

Não importa se você acha que comunicou as especificações corretamente, a equipe ainda vai ter perguntas a fazer. Desenvolvimento é um processo iterativo.

Esse é um outro ponto onde a organização inicial compensa: depois de escolher os requerimentos que fazem sentido, faça seu time se envolver mesmo antes de começar a trabalhar.

Photo by Oleg Laptev on Unsplash

Engenheiros e engenheiras devem ter a chance de fazer críticas, estender ou rejeitar logo de cara os pré-requisitos se eles acham que não faz sentido. Aí, começados os trabalhos, a mesma lógica é aplicada: os melhores requisitos são essencialmente um tipo de documento vivo que evolui durante o desenvolvimento.

Assim como “nenhum plano de batalha sobrevive ao primeiro contato com o inimigo”, nenhum grupo de pré-requisitos deve sobreviver à implementação sem um pouco de flexibilidade.

4. Incentive o progresso

Desenvolvedores estão todo o tempo buscando melhorar seu set de habilidades. A gestão mais bem-sucedida é aquela que facilita seu crescimento. Por isso, encontre uma coisa específica e útil onde poderão focar sua energia de evolução.

São frases como “foque em dividir seu trabalho em pedaços menores”, ou “eu gostaria de ver você tomar a dianteira e investir na revisão de códigos legados”. Use um plano pessoal de desenvolvimento para sugerir áreas de pesquisa para a pessoa pesquisar no seu downtime.

Se interessar pela evolução profissional da sua equipe vai ajudar a refinar a direção que sua tecnologia seguirá, resultando, em último efeito, em benefícios para a empresa. Ofereça orientação em seus projetos, mesmo quando não forem diretamente relacionados ao trabalho.

5. Enfatize qualidade mais que quantidade

A inexperiência pode levar você a pensar que agregar mais gente em um projeto vai aumentar a produtividade.

Isso raramente funciona, porque mais profissionais podem atrasar o projeto até que se atualizem e peguem o ritmo. Para aumentar a produtividade é melhor reorganizar a equipe para realizar tarefas pequenas, tipicamente aquelas que podem ser feitas em alguns dias ou semanas.

Distribua para cada pessoa tarefas específicas como codificar, testar e implementar. Garanta que cada time seja composto por pessoas com níveis variados de senioridade, tendo júniors, plenos e sêniores.

6. Revise as métricas corretamente

Relatórios de performance oferecem a melhor oportunidade para medir o desempenho de uma equipe de desenvolvimento e identificar possíveis problemas. Mas é vital escolher apenas as métricas que são aplicáveis, porque é comum reunir todas as métricas disponíveis só para mostrar que o projeto ainda está em desenvolvimento.

Photo by Franck V. on Unsplash

Pergunte diretamente à equipe quais são os problemas do projeto e quais métricas refletiriam melhor o status atual do projeto. Revise os tickets abertos semanalmente, mas não foque apenas em resolvê-los. Pode ser melhor deixar um ticket em aberto por um tempo para garantir que o bug associado a ele foi solucionado.

7. Evite mudança de tarefas

Muitos trabalhos exigem profissionais multitarefas, mas essa prática é prejudicial para a eficiência no desenvolvimento de um software. A equipe gasta muito tempo mental em embates com problemas conceituais entediantes. Qualquer disrupção nisso tem um custo imenso — uma interrupção inesperada pode atrasar alguém em meio dia de trabalho.

Mudanças de contexto também são dispendiosas e a sobrecarga cognitiva dos resultados multitarefas geralmente resultam em baixa performance. Se estiverem trabalhando em vários projetos simultâneos, pode ser interessante pedir que se dediquem a um projeto de manhã e outro à tarde. A melhor solução para lidar com múltiplos projetos é redistribuir frequentemente a equipe em grupos menores dedicados a um projeto em particular.

A chave para a retenção de talentos no desenvolvimento de tecnologia é tratá-lo(a)s bem e gerenciar seu trabalho de maneira justa. Eles e elas conseguirão se ajustar se você ocasionalmente deixar passar um ou dois pontos comentados neste artigo, mas começarão a buscar oportunidades melhores se você insistir em negligenciar essas questões com frequência.

--

--

Tera
Somos Tera

Um novo modelo de educação com foco nas principais habilidades para a economia digital: www.somostera.com