Medir a produtividade de um desenvolvedor não é o mesmo que medir a produção de uma fábrica. Na industria, as medidas são definidas e de facil acesso, já que a produção é padronizada e portanto, passível de melhorias de produtividade.
Já em software, é impossível se medir produtividade de maneira objetiva. O numero de linhas de código é uma métrica de produtividade? A quantidade de bugs solucionados? As horas trabalhadas? Nenhuma dessas medidas refletem, necessáriamente um bom trabalho e utiliza-las pode gerar o incentivo errado às equipes.
Programadores trabalham diferente
O produto do trabalho dos desenvolvedores é mais do que apenas código. Desenvolvedores precisam todas decisões o tempo todo: qual caminho seguir; Usar ou não uma biblioteca open-source; Como estruturar os dados; etc. Medir custo-benefício e aplicar a decisão é cansativo, pode demandar pesquisas e experiências e precisa de tempo.
Dessa maneira, programadores não conseguem e não devem seguir os modelos tradicionais de trabalho (8 horas por dia). o trabalho intelectual necessita de tempo ininterrupto e sem distrações, o que por si só já é raro nos dias de hoje, com tantas reuniões e notificações de redes sociais. Outro ponto importante é o custo mental que essas atividades possuem. Trabalhar ininterruptamente em uma atividade que necessita de tanto foco demanda muito do nosso cérebro e se torna muito cansativo, sendo muito difícil manter por muitas horas.
Por outro lado, os desenvolvedores nunca param de trabalhar. Dificilmente conseguimos nos desligar do problema após sair do trabalho, especialmente porque, para a grande maioria, é exatamente esse tipo de desafio que os atrai para o desenvolvimento de software. Comumente, grandes soluções são “descobertas” durante atividades simples e não relacionadas, como na hora do banho, uma caminhada, lavando a louça e até mesmo dormindo.
Portanto, esperar que desenvolvedores trabalhem seguindo o modelo tradicional não é só bastante incômodo para eles mas também é menos produtivo para as empresas. Precisamos permitir blocos de tempo e principalmente reforçar a necessidade de um bom descanso.
Medindo a produtividade
E qual é a alternativa? Resultados. Como todo trabalho intelectual, não podemos medir diretamente a produtividade. Cada situação é particular, cada problema tem uma solução diferente e por isso, não temos referência à o que comparar, portanto não há como medir. No final das contas, de maneira simplista, o que realmente interessa é: salário dos desenvolvedores + custos adicionais < rentabilidade do projeto.