Ao considerar diferentes abordagens para revisões de desempenho de engenheiros de software, uma pergunta certamente vem à mente: Por que precisamos usar vários modelos de revisão? A resposta simples é que o desenvolvimento de software é um processo complexo e multifacetado que frequentemente envolve dezenas de pessoas trabalhando em várias equipes.
Executivos e partes interessadas nem sempre têm conhecimento íntimo das qualificações e responsabilidades de cada desenvolvedor, especialmente em grandes organizações e equipes. É por isso que as avaliações de desempenho devem ser deixadas para profissionais tecnicamente proficientes capaz de compreender as responsabilidades, competências, conjunto de habilidades e função de cada engenheiro de software no processo de desenvolvimento de software como um todo.
Então, qual é a maneira correta de conduzir as avaliações de desempenho? A resposta dependerá de muitos fatores, que vão desde o tamanho e as metas da organização até aspectos mais granulares do desempenho de um engenheiro.
Os gerentes desempenham um papel importante nas análises de desempenho da engenharia. Em muitas organizações menores, um gerente direto pode ser a única pessoa conduzindo uma revisão. Geralmente, esse não é o caso em grandes empresas, pois seus processos de revisão costumam ser mais complexos e envolvem mais pessoas em várias funções e departamentos. Organizações maiores também tendem a usar revisões de pares e autoavaliações com mais frequência do que organizações menores.
As avaliações de desempenho percorreram um longo caminho desde que as grandes corporações as adotaram na segunda metade do século 20, mas o história das avaliações de desempenho está além do escopo deste artigo, assim como a psicologia comportamental que sustenta alguns modelos de avaliação de desempenho. Em vez disso, esta peça enfoca os aspectos práticos do processo, começando com as responsabilidades da gestão.
Embora as abordagens possam variar dependendo do tamanho e do tipo de organização, alguns princípios básicos se aplicam à maioria, senão a todas, as situações de revisão.
A gerência precisa planejar cuidadosamente o processo de revisão e garantir que todos os envolvidos estejam cientes de suas responsabilidades.
Devido à influência descomunal da administração no processo de revisão, os gerentes precisam estar atentos a possíveis vieses e outras questões que podem prejudicar o processo. Mesmo que o estágio de planejamento seja bem executado e todo o processo seja projetado de maneira adequada, a administração pode precisar eliminar certas práticas indesejáveis e garantir a integridade do processo.
Idealmente, gerentes e executivos seriam capazes de conduzir revisões com uma mentalidade puramente objetiva, mas existem preconceitos. Estar ciente deles, no entanto, pode mitigar seus efeitos.
Tenha em mente que a maneira como um gerente analisa um engenheiro de software pode oferecer insights valiosos sobre o desempenho e profissionalismo do gerente.
As avaliações pelos pares oferecem várias vantagens em comparação com as avaliações dos gerentes, embora haja algumas desvantagens a serem consideradas.
Os pares tendem a estar melhor posicionados do que os gerentes para avaliar o desempenho uns dos outros. Eles têm muito mais exposição ao trabalho de seus companheiros de equipe. Eles geralmente trabalham nos mesmos projetos e colaboram com as mesmas pessoas e, portanto, tendem a ter um bom domínio da dinâmica da equipe e das capacidades individuais dos engenheiros.
No entanto, as revisões por pares também podem ser afetadas por tendências. O preconceito pode aparecer como positivo, baseado na amizade, ou negativo, causado por questões pessoais ou rivalidade entre os membros da equipe. O pensamento de grupo também pode influenciar o processo de revisão, especialmente em equipes muito unidas, pois as pessoas podem estar inclinadas a dar cobertura aos seus companheiros. Dadas essas possibilidades, os modelos e questionários de revisão por pares precisam ser elaborados de forma a atenuar o preconceito, focalizando competências específicas e critérios objetivos sempre que possível. Como os resultados dos membros da equipe acompanham os indicadores-chave de desempenho tende a agregar mais valor do que questões subjetivas sobre características pessoais ou outras questões em aberto.
O potencial de parcialidade levanta uma questão chave: As revisões por pares devem ser anônimas?
Argumentos válidos podem ser feitos para apoiar análises anônimas e públicas, mas é importante considerar diferentes esquemas organizacionais e tamanhos de equipe. Conseqüentemente, não há uma resposta definitivamente certa ou errada, embora a maioria das organizações prefira revisões anônimas.
Vamos examinar mais de perto as vantagens do feedback anônimo:
No entanto, existem algumas desvantagens nas revisões anônimas de pares:
Autoavaliações - ou autoavaliações - são outra abordagem comumente usada em análises de desempenho. Tal como acontece com outros modelos de revisão, eles podem apresentar sua própria controvérsia.
As autoavaliações são normalmente exigidas pela gestão dos funcionários regularmente, o que faz sentido se o objetivo for usá-las para rastrear o progresso e as mudanças ao longo do tempo. Poucas organizações exigem avaliações mensais, mas autoavaliações anuais, semestrais e até trimestrais são comuns. Pedir aos engenheiros que forneçam feedback regularmente pode ser benéfico, especialmente ao lidar com equipes e indivíduos que operam com um alto grau de autonomia. Os revisores podem usar essas avaliações regulares para comunicar problemas em potencial que precisam ser resolvidos, explicar como superaram desafios específicos, detalhar como e por que melhoraram seu desempenho e identificar o que os impede de melhorar seu desempenho.
Infelizmente, as autoavaliações sofrem de várias deficiências graves, sendo o preconceito o mais óbvio. Algumas pessoas tendem a exagerar seu desempenho, recusar-se a divulgar deficiências em seu trabalho ou listar problemas que impedem seu desempenho. Outros podem ser muito críticos de si mesmos. Em ambos os casos, os resultados podem ser distorcidos.
Como as organizações podem atenuar as deficiências? Os gerentes podem criar formulários de autoavaliação e perguntas para levar em conta os preconceitos e minimizar seu impacto.
Para permitir que os engenheiros tratem de problemas que podem não estar incluídos no formulário de autoavaliação, forneça uma seção de comentários.
Um processo de feedback de 360 graus combina vários modelos discutidos anteriormente para fornecer feedback mais abrangente e identificar os pontos fortes e fracos dos avaliados. Em um sistema de 360 graus, análises diretas de desempenho, análises de colegas engenheiros (pares), gerentes, clientes e outras fontes são tabuladas para gerar um único resultado e apresentá-lo ao analisado em um formato fácil de entender.
Como essa abordagem garante feedback de várias fontes e cobre mais do que indicadores de desempenho e habilidades básicas, ela pode ser útil em muitos cenários. Ele fornece uma visão geral do desempenho de um engenheiro, permitindo que a administração obtenha percepções valiosas em um piscar de olhos. Além disso, se uma organização decidir não compartilhar os resultados de cada revisão com cada funcionário, ela pode compartilhar os resultados do feedback de 360 graus.
Esta abordagem avalia as habilidades básicas da equipe e fornece feedback da equipe sobre o desempenho, comportamento, comunicação de um engenheiro e quaisquer outros critérios desejados. No entanto, não é ideal para avaliar habilidades técnicas, habilidades específicas para um projeto individual ou indicadores de desempenho granulares. Uma vez que normalmente envolve muitas pessoas com diferentes origens e níveis de envolvimento com o avaliado, o feedback de 360 graus pode ser muito subjetivo para avaliar alguns aspectos do desempenho de um engenheiro de software.
O que deve ser incluído em uma avaliação de desempenho que gere valor para as partes interessadas e lhes forneça informações acionáveis? As revisões devem ser abrangentes ou enfocar alguns itens a serem trabalhados a curto prazo?
A resposta depende do tipo de organização e do escopo da revisão, embora alguns pontos devam ser incluídos na maioria, senão em todas, as revisões de desempenho.
A velocidade com que um desenvolvedor conclui uma tarefa é uma métrica essencial em qualquer avaliação de desempenho, assim como a maneira como lidam com o desenvolvimento iterativo de software. A velocidade e a iteração são críticas ao lidar com grandes equipes trabalhando em um único projeto, indivíduos que costumam saltar de um projeto e cliente para outro e esforços de combate a incêndios. A capacidade de um engenheiro de software de começar a trabalhar pode fazer ou quebrar um projeto.
Embora a velocidade seja uma métrica chave, é menos valiosa se tiver um preço alto. A qualidade do código deve ser primordial e não deve ser comprometida para cumprir prazos apertados. Um código de qualidade inferior pode causar dores de cabeça para o resto da equipe ou para a organização mais tarde.
PARA revisão de código garante que alguém examine o código escrito por outra pessoa. O processo, embora demorado, é direto e uma boa maneira de garantir e manter a qualidade. A revisão de código contínua libera as organizações de ter que revisar cada linha de código escrita por seus desenvolvedores em sua totalidade. Os revisores de código precisam ser indivíduos altamente qualificados, capazes de identificar vários problemas e áreas críticas que precisam de atenção, desde o design e a funcionalidade até o estilo e a documentação.
A comunicação não é uma habilidade técnica, mas pode impactar profundamente a qualidade do trabalho de um engenheiro de software. Os engenheiros se comunicam com seus colegas, líderes de equipe, partes interessadas e clientes rotineiramente e precisam demonstrar um alto grau de responsabilidade e profissionalismo.
A comunicação deficiente pode prejudicar a qualidade do trabalho e permitir que problemas menores se transformem em problemas maiores e muito mais caros. A comunicação profissional e oportuna é fundamental e deve estar sujeita a revisão. Mesmo as habilidades técnicas mais impressionantes não são tão importantes quanto a necessidade de assumir responsabilidades e se comunicar com eficácia.
Engenheiros de software sênior e líderes de equipe costumam jogar papéis-chave no recrutamento , por isso é importante revisar esses aspectos de seu desempenho também. Se um líder de equipe toma decisões de recrutamento ruins, isso afeta toda a equipe e possivelmente toda a organização.
A liderança pode ser difícil de avaliar e revisar, especialmente se os membros da equipe relutam em fornecer feedback negativo. Portanto, é necessário garantir que o processo de revisão os proteja de possíveis represálias por comentários pouco lisonjeiros de seus superiores.
O planejamento é outra categoria subjetiva. Os líderes precisam garantir o planejamento e a execução adequados das metas e objetivos da equipe. No entanto, seu desempenho a este respeito depende de outros membros da equipe, tanto subordinados como superiores. Metas e prazos perdidos são sinais de alerta óbvios, mas o processo de revisão deve considerar uma série de fatores que podem tê-los causado, por exemplo, má gestão que falhou em tomar medidas oportunas para colocar o projeto de volta nos trilhos ou falta de tempo ou recursos necessários para cumprir um prazo ..
Cada organização deve criar um modelo de avaliação de desempenho adaptado às suas necessidades específicas. Só porque o Google ou a Apple estão fazendo algo, isso não significa necessariamente que funcionará para outra empresa ou equipe.
As análises de desempenho requerem muito planejamento e consideração cuidadosa. É necessário encontrar o equilíbrio certo entre complexidade e rigor de um lado e praticidade e utilidade do outro. As pequenas organizações podem conduzir análises de desempenho sem tornar o processo muito complicado e difícil. Da mesma forma, as grandes organizações devem fazer o melhor para tornar o processo o mais enxuto possível.
Não se esqueça de reveja o próprio processo de revisão . Seja conduzindo revisões em uma base trimestral ou anual, analise a rodada mais recente de revisões antes de prosseguir com a próxima. O processo correu bem? Ele revelou informações úteis? Identifique quaisquer deficiências, resolva-as e se esforce para melhorar o processo de revisão continuamente.
O processo de revisão de desempenho abrange todas as etapas da revisão, desde o estágio de planejamento e preparação até a execução da revisão e compilação dos dados obtidos por meio da revisão.
As análises de desempenho servem a muitos propósitos. Eles podem ser usados para melhorar a produtividade, eficiência, comunicação e organização.
Idealmente, uma avaliação de desempenho não deve demorar muito, pois os funcionários não devem gastar um dia inteiro de trabalho em avaliações. É por isso que é crucial planejar com antecedência e otimizar o processo de revisão.
Na maioria dos cenários, uma revisão de 360 graus deve fornecer o melhor feedback, pois depende de mais fontes do que revisões de pares ou outros tipos de revisões.
Como regra geral, as revisões de código apoiadas por revisões de pares que se concentram na velocidade de execução e iteração tendem a produzir bons resultados.