Produtividade pra quê?
Jonas Abreu em 06/12/2012O cálice sagrado do desenvolvimento de software. Um programador mais produtivo é melhor que o outro que produz menos. Precisamos aumentar a produtividade do time. Se aquele cara não melhorar a produtividade dele, vamos ter que cortar ele.
WTF?
Pra que queremos tanta produtividade? Qual é a vantagem disso? O que estamos ganhando com isso? Não consigo encontrar uma resposta minimamente razoável para nenhuma dessas perguntas.
É claro que respostas como "Assim vamos conseguir entregar mais coisas" ou "Vamos ter vantagem sobre nossos concorrentes" e outras vem à cabeça, mas isso não faz sentido algum. Mais não implica Melhor (alguém aí usa Word?).
Então porque continuar essa busca insana?
O que é ser produtivo?
Em desenvolvimento de software, o que significa ser produtivo? Entregar mais linhas de código? (Não. LoC morreu faz um tempo). Mais pontos de função? (Não. Palavrões não são permitidos nesse blog). Mais Story Points? (Não serve pra isso)
Como é que se mede isso? Não mede. É simplesmente um feeling das pessoas. Entregue duas telas com validação e você é produtivo. Mude a arquitetura da aplicação inteira em uma semana e você não fez nada (mesmo que agora a sua aplicação finalmente aguente a carga de usuários).
Lixo por Dia
Conheci pessoas/empresas consideradas muito produtivas. Muitos (não consigo dizer todos porquê não lembro de todos) deles eu gostava de medir a produtividade em Lixo por Dia.
Basicamente, depois deles produzirem feito loucos varridos (expressão engraçada essa) alguém tinha que passar e fazer uma senhora faxina no código.
O tempo que o faxineiro gastava para arrumar a casa impedia ele de entregar coisas. Logo, o criador de lixo era mais produtivo que o faxineiro.
É um ótimo estímulo para mais pessoas simplesmente colocarem lixo em cima de lixo sem se preocupar com quando tudo isso vai cair.
Linguagens mais produtivas
Isso é uma piada. Ruby/Python/Scala é mais produtivo que Java/C# porque eu escrevo menos código.
Claro. Porque escrever menos código é comprovadamente melhor. Você simplesmente se sente mais confortável escrevendo menos código. Ninguém consegue afirmar (de forma responsável) se isso é melhor ou não. No fim, boa parte é simplesmente síndrome de estocolmo.
Flow
Um psicólogo húngaro chamado Mihaly Csikszentmihalyi criou o conceito chamado Flow. Um estado em que estamos completamente absorvidos no que estamos fazendo, tudo parece dar certo, produzimos mais que o normal, ficamos ligeiramente eufóricos e experimentamos uma sensação de satisfação e felicidade bem alta. Algo parecido com o famoso programador 10X e a super produtividade de alguns times ágeis.
Um detalhe interessante do Flow, é que nesse estado ficamos completamente dedicados ao que estamos fazendo. Isso significa que aprender, compartilhar conhecimento, ajudar um programador com problemas e vários outros pontos importantes para desenvolvimento de software ficam em segundo plano.
Enfim
Eu cada vez mais considero produtividade como uma (pseudo) métrica lesiva. Não temos como medir. Não sabemos que resultado tráz. Não sabemos como otimizar. Não sabemos pra que serve. Só perdemos tempo e aumentamos o estresse acumulado.