Como medir e avaliar a produtividade do desenvolvedor

Olá cidadãos de Khabrovsk! Neste dia extraordinário de folga do fim de semana, queremos compartilhar com você um artigo interessante que foi traduzido na véspera do início do curso Team Lead 2.0 .




Os desenvolvedores precisam de feedback para que possam melhorar suas habilidades e adquirir novos conhecimentos. De acordo com o editor da Inc. Magazine, de Jeff Hayden, as métricas tradicionais podem enganar, porque nem sempre refletem uma imagem clara. Anteriormente, avaliar o desempenho da equipe era uma tarefa assustadora, e foi por isso que ferramentas do Git Analytics, como Waydev, apareceram. Essa ferramenta oferece uma abordagem de desenvolvimento orientada a dados para ajudá-lo a trazer o melhor de seu pessoal.

É muito importante medir os indicadores certos e fazê-lo corretamente. Por sua vez, a escolha dos indicadores depende das especificidades do seu negócio e das responsabilidades do trabalho de cada engenheiro de software.

Vamos falar sobre um algoritmo que ajudará a avaliar a eficácia dos programadores:

Estabelecimento de metas


Definir metas organizacionais e verificar regularmente se todos os membros da equipe as seguem é uma prioridade desde o início do projeto. Mesmo que sua organização tenha terceirizado o desenvolvimento de software, a equipe de desenvolvimento não será uma organização independente cuja única função é escrever código e testá-lo. Integrar objetivos técnicos a objetivos comerciais comuns é um passo importante no seu caminho. A conceitualização de tarefas nos estágios iniciais é a base para avaliar a eficácia do trabalho nos estágios posteriores.

Cada objetivo deve se encaixar na idéia principal do negócio, tanto no nível da equipe quanto no nível individual de cada funcionário.

Colocação de fundação


A medição de desempenho se resume a duas questões principais - o que e como. A pergunta "o que" se refere às tarefas reais que a equipe enfrenta. Implica um certo fato e expectativa. Respondendo à pergunta “o que” pode significar, por exemplo, escrita e teste oportunos do código. Aqui, "pontualidade" é um fato claro, e a excelente qualidade do código é uma expectativa implícita.

A questão de "como" está relacionada ao processo, ou seja, quão bem o programador trabalhou na equipe, quão inovadora foi sua abordagem para a tarefa e assim por diante.

A avaliação do "o quê" e do "como" fundamental dará a você uma compreensão não apenas de quais tarefas a equipe está trabalhando, mas também de quão bem elas serão executadas. O Waydev fornece uma visão panorâmica de seus trabalhadores usando o Log de trabalho. Ele permite que você veja todas as solicitações de confirmação ou recebimento que um desenvolvedor da sua empresa fez por unidade de tempo.



Concentre-se no longo prazo


Ao desenvolver software, você nunca deve se concentrar no componente quantitativo do produto que está sendo desenvolvido. Linhas de código extras tornarão o software pesado e mais difícil de manter. Por outro lado, minimizar o número de linhas de código não é uma panacéia: será difícil entender e dimensionar esse software.

A abordagem orientada a resultados a longo prazo implica que, em vez de quantificar a eficácia do produto, o produto é avaliado com base nos resultados da equipe. Para avaliar processos e lançamentos de desenvolvimento, é necessário analisar a estabilidade, a frequência de entrega e a frequência das atualizações do produto final.



Para avaliar a eficácia de uma equipe específica, é necessário entender se ela alcançou os resultados desejados. Ao focar nisso, você não apenas aumentará a produtividade dos desenvolvedores, mas também alcançará objetivos organizacionais, o que significa que você receberá mais benefícios a longo prazo. No Waydev, você pode usar o recurso Linha do tempo do projeto para ver como o foco e o volume do trabalho mudam ao longo do tempo. Descubra em que os desenvolvedores estão focados. Trata-se de escrever novo código, refatorar códigos antigos ou ajudar colegas? Veja quais eventos afetaram o desempenho de sua equipe para que, ao tomar decisões subsequentes, você possa se concentrar nos dados recebidos.

Preparação da avaliação


Para que a avaliação se baseie, você precisa ter um certo padrão que possa seguir ao recebê-la. Esse padrão pode servir como uma descrição do trabalho ou um plano de trabalho proposto.

Visualize as descrições de cargo, documentos, registros, emails e outros dados existentes que permitirão concluir a eficácia do funcionário.

Se você está na equipe recentemente, converse com o líder da equipe do desenvolvedor, seus colegas e, se possível, com os clientes regulares com quem ele trabalhou.

O sucesso ou o fracasso depende não apenas da pessoa, mas também das condições de trabalho:

  • Houve alguma circunstância de força maior? Por exemplo, a complexidade subestimada da tarefa ou a mudança de prioridades? Talvez seja exatamente isso que impediu o desenvolvedor de atingir seu objetivo e encontrar aplicação para suas habilidades.
  • Que sucesso a empresa alcançou e qual é a contribuição de um engenheiro de software específico? Ele usou suas habilidades principais corretamente?



Usando a Linha do tempo do projeto no Waydev, você pode identificar os pontos de dados mais relevantes no fluxo de trabalho da sua equipe e ter uma discussão produtiva sobre o conhecimento que pode aplicar ao seu próximo sprint. A Linha do tempo do projeto ajuda você e sua equipe a responder rapidamente aos bloqueios do processo que afetam o status de integridade do seu desenvolvimento durante conversas e avaliações retrospectivas.

Análise de objetivos e habilidades-chave


Compare o desempenho atual com o desejado ou definido na descrição do trabalho. Se houver resultados visíveis, verifique se eles estão refletidos em exemplos específicos e determine seu valor:

  • O desempenho desejado foi alcançado / excedido?
  • As condições desfavoráveis ​​de trabalho dificultaram o alcance das metas estabelecidas?
  • Esses objetivos foram alcançados devido ao empregado que trabalha horas extras?
  • O resultado do trabalho foi tão bom que esse funcionário deve ser incentivado?
  • Esse desenvolvedor teve um papel fundamental na consecução dos objetivos de toda a equipe?



Se não houver resultados visíveis, faça as seguintes perguntas:

  • O sucesso da tarefa dependia dessa pessoa?
  • O problema foi causado por razões como a falta de equipamento necessário, um volume muito grande de tarefas, uma declaração confusa do problema ou a ausência de outros recursos necessários?
  • Uma pessoa mais competente pode resolver esses problemas?
  • Quais são as consequências de não concluir uma tarefa?



Determine com que regularidade e eficácia o funcionário aplica suas habilidades principais em seu trabalho:

  • O funcionário usa essas habilidades diariamente?
  • Ele usou todas as suas habilidades, ou apenas algumas delas? Que tipo?
  • Como a aplicação de habilidades ajuda um desenvolvedor a resolver tarefas de trabalho? Como isso afeta o fluxo de trabalho e o sucesso da equipe?
  • Foi difícil para o desenvolvedor concluir a tarefa? Se sim, como isso afetou seus objetivos e fluxo de trabalho?

Se for difícil para o desenvolvedor concluir tarefas de trabalho e as metas definidas não forem atingidas, pense em organizar treinamentos adicionais ou cursos de educação continuada.

Discussão


Todas as conclusões que você conseguiu tirar durante a análise devem ser discutidas com o próprio funcionário. Concentre-se em seus sucessos. Para transmitir sua compreensão da situação com a maior precisão possível, use exemplos específicos. Comece com os aspectos positivos, mas preste atenção às dificuldades encontradas. Se o objetivo não foi alcançado devido a um desenvolvedor independente, ele nunca deve pensar que é o culpado por tudo.

Certifique-se de fazer perguntas e ouvir atentamente as respostas. Isso ajudará a identificar problemas e entender como uma pessoa se relaciona com eles: se ele deseja resolvê-los, o que vê da situação e o que ele gostaria de mudar.

Recomendações


Com base nas informações que você recebeu durante a conversa com o funcionário, seu gerente e colegas, faça uma lista de sugestões que podem melhorar a produtividade do desenvolvedor.

Como escrever comentários e recomendações


Para feedback, são necessários comentários sobre o trabalho realizado. Com base nos comentários recebidos, o engenheiro poderá avaliar seus pontos fortes e fracos e direcionar os esforços na direção certa. Lembre-se de que os comentários podem ser julgados não apenas sobre o funcionário, mas também sobre a pessoa que os escreveu. Eles devem ser compostos profissional e objetivamente.

Os comentários devem refletir os seguintes pontos:

  • Até que ponto o desenvolvedor concluiu sua tarefa?
  • Com que frequência ele demonstrou profissionalismo e habilidades-chave?
  • O que melhorou ao longo do período de avaliação?
  • O quê precisa ser melhorado?

Os comentários devem ter as seguintes propriedades:

  • Objetividade;
  • Completude;
  • Veracidade;
  • Especificidade do domínio
  • A conclusão positiva.

Aspectos a considerar


Comparecimento


Primeiro de tudo, você precisa entender se o desenvolvedor aparece no trabalho. Considere a hora de chegada, partida e ausência. Se alguém da equipe chega tarde ao trabalho, sai do local de trabalho por um longo tempo, sai mais cedo do que o necessário ou tira uma licença médica sem uma boa razão, ele certamente não procura dar o melhor de si. Lembre-se de que a falta de atendimento pode ser causada não apenas pela preguiça comum, mas também por razões mais graves, por exemplo, falta de motivação, problemas de saúde ou desgaste emocional.



Evitar suas funções no trabalho pode ser um mau exemplo para toda a equipe. Por esse motivo, outros desenvolvedores precisam assumir responsabilidades adicionais para compensar de alguma forma a ausência de um colega no local de trabalho. A situação é agravada se a sua organização tiver escassez de desenvolvedores e o problema estagnar. Comece a praticá-lo o mais rápido possível, pois ignorá-lo pode levar a problemas na vida pessoal e na saúde de seus desenvolvedores.

Ajudando


Estamos todos focados em ajudar os clientes, mas o trabalho em equipe também é muito importante. A Konowe & Associates acredita que este item é um dos principais indicadores de desempenho para os desenvolvedores: “Perguntamos quem em seu departamento (ou na empresa como um todo) foi o mais responsivo e o ajudou mais do que outros nos últimos seis meses? E, portanto, essa motivação anônima dos desenvolvedores nos permite identificar os verdadeiros fãs de seu campo, e não apenas os favoritos da liderança. ”



A disposição de ajudar os outros é um elemento essencial do trabalho em equipe. Colaborar em tarefas complexas é muito mais eficaz do que tentar transformar montanhas sozinho. Revisar o recurso de colaboraçãopermite que você entenda quem compartilha seus conhecimentos com outras pessoas. Ele também fornece indicadores quantitativos que ajudarão a avaliar o estado do fluxo de trabalho da revisão de código.



Habilidades de planejamento


Todos os membros da equipe devem concluir o trabalho no prazo. Eles devem ser capazes de gerenciar adequadamente o tempo e os recursos e priorizar corretamente, a fim de realizar seu trabalho da maneira mais eficiente possível.

Preste atenção aos prazos e à qualidade do trabalho que poderia sofrer devido às pressas para cumprir o prazo: isso ajudará a entender com que eficiência o funcionário trabalha. Também é muito importante levar em consideração a quantidade de tempo gasto no trabalho: se uma pessoa o processa de maneira estável, vale a pena conversar com ele sobre o planejamento do tempo.

Iniciativa


É bom quando os colegas estão interessados ​​em saber se podem ajudá-lo com alguma coisa. É ainda melhor se eles vêem objetivos e tomam todas as ações necessárias para alcançá-los. A iniciativa é um indicador de envolvimento no trabalho. Identificar os desenvolvedores mais ativos é importante para empresas em crescimento, onde novos empregos estão aparecendo constantemente e os recursos humanos são redistribuídos rapidamente. Para o trabalho mais eficaz do novo departamento, será melhor equipá-lo com o maior número de funcionários da iniciativa. Eles serão capazes de se adaptar rapidamente às novas condições e trabalhar à frente da curva.

Para identificar os membros mais ativos da sua equipe, marque a caixa sempre que um desenvolvedor assumir a liderança na equipe.

Qualidade


A qualidade do trabalho é a mais importante, mas ao mesmo tempo, a mais complexa medida de desempenho que pode ser medida. Engenheiros que trabalham com qualidade e sinceramente envolvidos no processo de trabalho provavelmente apresentam melhores resultados. Esse engajamento pode ser um critério de qualidade.

A produtividade dos desenvolvedores não é medida apenas nas características quantitativas do produto desenvolvido, portanto, o problema não é resolvido. Os desenvolvedores que escrevem linhas extras de código simplesmente aumentam a complexidade do software, dificultando a manutenção. Você deve entender no que seus desenvolvedores estão trabalhando: qualidade ou quantidade?

Especialistas do site HR World se oferecem para avaliar a qualidade do resultado final pelo número de funções que foram rejeitadas ou devolvidas para revisão. Você pode usar essa técnica ou escolher outra, mais adequada às especificidades da sua empresa.

Conclusão


É claro que avaliar o desempenho em números específicos é importante, mas Cheryl Stein, uma treinadora de negócios da Monster.com, recomenda que você não se limite a números. Afinal, os membros da equipe são pessoas vivas, não apenas recursos. Stein observa que algumas qualidades, por exemplo, a capacidade de encontrar uma abordagem para qualquer pessoa, agora valem seu peso em ouro, e essas habilidades não devem ser negligenciadas. Stein também escreve sobre a importância de prestar atenção às mudanças na produtividade do trabalho, pois isso pode ser um sintoma de mudanças mais globais na empresa.

"Um declínio na produtividade do trabalho pode indicar mudanças no mercado ou estratégias, idéias e valores de marketing insustentáveis".

Ao medir a eficácia, é importante ter um diálogo com a equipe. As pessoas precisam saber como você avalia e tira conclusões. Portanto, cada desenvolvedor entenderá sua posição na equipe. Com o Waydev, você pode visualizar informações sobre membros específicos da equipe, ver seu progresso, ajudá-los a resolver problemas, proporcionando melhor comunicação vertical dentro da organização.



Quais são os riscos do trabalho remoto dos departamentos de TI? Que abordagens são necessárias para a equipe trabalhar eficientemente sem a necessidade de rastreá-las? Por que udalenka também precisa de um horário? As respostas para essas perguntas podem ser encontradas em nosso seminário on-line gratuito, que será realizado em 13 de maio. Inscreva-se em um webinar .

All Articles