Sou líder de equipe com mais de 5 desenvolvedores. Eu tenho um desenvolvedor (vamos chamá-lo de A ), que é um bom programador, que escreve um bom código limpo e fácil de entender. No entanto, ele é um pouco difícil de administrar, e às vezes me pergunto se ele está realmente com desempenho ruim ou não.
- Nossa empresa exige que os desenvolvedores indiquem o progresso do trabalho no rastreador de erros que usamos, não apenas para monitorar os programadores, mas para manter as partes interessadas informadas sobre o progresso. O fato é que A somente atualiza o progresso de uma tarefa quando é concluído (talvez três semanas após a primeira execução) e isso deixa todos imaginando o que está acontecendo no meio da semana de desenvolvimento. Ele não mudaria seu hábito, apesar de repetidas investigações. (Tudo bem, os desenvolvedores também odeiam a papelada)
- Nos últimos 2-3 meses, ele saiu muitas vezes devido a vários eventos - ele está doente ou tem que participar de muitos eventos pessoais etc. (Tudo bem, coisas ruins acontecem em sequência. É apenas uma coincidência)
- Definimos sprints ou roteiros para cada mês. E no início do sprint, discutiremos a quantidade de trabalho que cada um dos desenvolvedores deve realizar em um sprint e os desenvolvedores definirão o tempo necessário para cada tarefa . Ele geralmente não será capaz de concluir todos eles. (Tudo bem, os desenvolvedores regularmente perdem os prazos, não por culpa deles).
- Estou com sede em Cingapura. Não tenho certeza se isso importa. Sim, os asiáticos são conhecidos por serem reticentes, mas isso importa?
Se apenas um ou dois dos eventos acima acontecerem, não sentirei que A tenha um desempenho fraco, mas todos eles acontecem juntos. Então, tenho a sensação de que A está com um desempenho ruim e talvez ... Deus não permita --- relaxando.
Este é apenas um sentimento baseado nos meus anos de experiência como programador. Mas eu posso estar errado.
É notoriamente difícil medir o trabalho de um programador, uma vez que nem todas as duas tarefas são iguais e não existe um objetivo padrão de medir o comprometimento de um programador com sua empresa. É absolutamente impossível saber se o programador está fazendo o seu trabalho ou se afrouxando. Tudo o que você pode fazer é confiar neles - sim, confiar e dar autonomia a eles é a melhor maneira de os programadores trabalharem, eu sei disso. Portanto, não comece uma palestra sobre por que você precisa confiar em seus programadores, obrigado a todos. muito - mas se eles abusam de sua confiança, você pode saber?
Resultado:
Eu tenho uma conversa direta com ele sobre a minha percepção sobre o seu desempenho. Ele ficou indignado quando sugeri que tinha a sensação de que ele não estava apresentando seu melhor nível. Ele sentiu que esse era um sentimento completamente injusto. Respondi então que esse era meu sentimento e não sabia se estava certo ou não. Ele não aceitou nada disso e terminou a discussão imediatamente.
Antes de partir, ele disse que "tentaria dar mais à empresa" em um tom muito frio. Fiquei surpreso com a reação dele. Tenho certeza de que o ofendi de algumas maneiras. Não tenho certeza se isso era a coisa certa a fazer para eu ser tão franca com ele, no entanto.
Minha pergunta é: como você pode saber se seus programadores estão com desempenho fraco? Certamente existem líderes de equipe experientes que sabem melhor do que eu sobre isso?
Notas extras:
- Eu odeio microgerenciamento. Portanto, tudo o que temos para o nosso processo de software é o Sprint (onde as tarefas são priorizadas e atribuídas e, no final do mês, uma revisão da quantidade de trabalho realizado). Os desenvolvedores precisariam atualizar as tarefas à medida que avançam todos os dias.
- Não há reunião stand-up, ou qualquer coisa do tipo. Principalmente porque temos a liberdade de trabalhar em casa e todos apreciam essa liberdade.
- Embora seja eu quem defina o prazo, os desenvolvedores fornecerão a estimativa para cada tarefa e eu decidirei - com base na estimativa - as tarefas que entram em um sprint específico. Se eles não puderem terminar as tarefas no final do sprint, eu as empurrarei para a próxima. Então, teoricamente, é possível executar apenas 1 ou 2 tarefas durante todo o sprint e depois empurrar as 99 tarefas restantes para o próximo sprint, e ele continuará bem, desde que justifique isso - na forma de atualizações diárias do progresso do trabalho