Desenvolvimento

Publicidade

Pense um pouco naquele “processo” de software que tentaram (e talvez até tenham conseguido) fazer descer goela abaixo na sua empresa ou aonde você trabalha. O processo é cheio de documentos, passos, checklists, cheio de tudo para que qualquer pessoa possa chegar lá e repetir tudo da mesma forma que está na receita. Espera-se, então, que todos vão gerar a mesma saída ao fim do ciclo do processo.

Quem procura esse meio para padronizar o funcionamento de uma equipe que produz software está a procura de uma única coisa, eliminar as individualidades e remover o controle dos processos das pessoas que realmente produzem os artefatos.

Eles eliminam a individualidade na esperança de que a produção torne-se impessoal, para que no dia que aquele funcionário sair da empresa, outro entre em seu lugar e esteja rapidamente produzindo tanto quando o primeiro, pois todos os processos estão formalizados e ele só precisa manter-se na receita para que tudo saia corretamente.

Eles tomam o controle total do processo para evitar que essas pessoas fujam demais da “normalidade” e terminem por ser difíceis de “repor” caso hajam baixas no meio do caminho. Gerentes pouco experientes têm medo de entregar o poder nas mãos de seus subalternos porque eles ainda são incapazes de sentirem-se seguros ao entregar a capacidade de decisão a uma pessoa que não sejam eles próprios, mesmo quando aquela pessoa normalmente é a mais capacitada e bem informada para tomá-la.

Trabalho intelectual X Trabalho braçal

A decisão de tolher a individualidade dos funcionários vem como mais uma das heranças da administração clássica de indústrias, onde o empregado era apenas mais uma das ferramentas ou máquinas disponíveis na linha de produção. Se uma daquelas pessoas faltasse, outra já poderia ser treinada rapidamente para ocupar o seu lugar e repetir todo o processo conforme a receita.

No trabalho industrial, esse tipo de abordagem foi um sucesso, a indústria não dependia mais dos funcionários e a facilidade para contratar pessoas em um mercado cheio de desempregados (especialmente nos países em desenvolvimento) criou uma força de trabalho ociosa que deu ainda mais fôlego para a indústria. Ela utilizou-se de uma das primeiras leis do capitalismo, a da oferta e da procura, a seu favor para pagar pouco e tratar mal os seus funcionários, que na sua realidade, valiam ainda menos do que as máquinas que eles operavam.

Essa impessoalidade da produção industrial procurou encontrar o seu espaço também na gerência de trabalhadores intelectuais e, como era de se esperar, o mercado de software aproveitou-se mais uma vez deturpando ou utilizando de forma erronia outro conceito de ciência que estudava problemas parecidos.

Onde está a minha receita?

O grande problema dessa abordagem no desenvolvimento de software é que não existe uma receita simples que, se seguida, vai resultar em um software de qualidade, assim como acontece nas grandes redes de fast-food. As pessoas não podem simplesmente sentar-se na cadeira, repetir algumas fórmulas pré-definidas e chegar a um projeto completo e de qualidade .

Um software é construído através do conhecimento e das vivências individuais e agrupadas de cada uma das pessoas reunidas no projeto e sem essas diferenças as chances de falha de um projeto são ainda maiores. Imagine que em um dado momento, você tem uma equipe formada de cinco “Josés”, os cinco tem a mesma vivência, todos são os funcionários padrão que recebem pouco e trabalham muito que aquele consultor jurou que um dia você teria.

Um belo dia, “José Um” vem até você explicando que aconteceu um problema que ele não tem a menor idéia de como resolver. Você ouve atentamente tudo o que ele diz, mas também não pode fazer nada, não tem a menor idéia de como sair daquela sinuca de bico. Você então tem a grande idéia de juntar a equipe toda e tentar fazer algo que você chama de “brainstorm” porque não sabe de nenhum outro nome que possa ser dado.

Depois dos primeiros quinze minutos você começa a se preocupar, ninguém tem idéia nenhuma, na verdade, todos estão com a mesma cara de desespero, já que nenhum deles tem a mínima idéia do que pode ser feito. E você passaria o resto do dia amarrado a cadeira esperando que eles viessem com uma boa idéia, porque eles nunca teriam uma, são todos iguais, se um deles não consegue resolver o problema, nenhum dos outros vai conseguir.

Valorizando as diferenças

Um ambiente onde todas as pessoas pensam e agem do mesmo jeito não evolui, todos acreditam que estão no caminho certo e simplesmente se acomodam frente a mudança, pois como todos acham que tudo está certo, ninguém tem desejo de fazer uma alteração. Toda equipe, especialmente as que produzem bens resultantes de trabalho intelectual, devem ser formadas por pessoas diferentes, de diferentes especialidades e vivências para que em vez de todos repetirem os mesmos trabalhos, cada um possa fazer o melhor possível na sua área de especialidade.

Você não precisa de antagonismos nem de brigas internas dentro do seu time, você precisa de uma dose constante de conflito para que as coisas continuem movendo-se para frente. As pessoas devem ser capazes de discutir o que elas estão fazendo e quais as possíveis maneiras de melhorar o seu trabalho. Opiniões diferentes e defendidas com conhecimento de causa são a base de um consenso que na maioria das vezes é o melhor caminho a ser tomado.

Mas e quando eles vão embora?

Aí, infelizmente, não existe muita escolha. O melhor a se fazer é tentar manter a todo custo essa pessoa trabalhando pra você, simplesmente tentar tolher a individualidade dos membros da sua equipe não vai acabar com o problema da saída de uma pessoa importante, só vai fazer com que as pessoas produzam menos e tenham ainda mais vontade de não continuar trabalhando no mesmo lugar.

Existem várias formas de fazer com que o conhecimento de uma pessoa se mantenha dentro da empresa, algumas com uma taxa de retenção alta, como testes de software, que além de agregarem valor por diminuir a possibilidade de problemas no sistema, ainda são uma grande fonte de documentação do funcionamento do código que foi escrito.

O outro modo comum de fazer com que este conhecimento não fuja, é simplesmente fazer com que as pessoas escrevam mais documentos dentro do processo que expliquem o que ela está fazendo. O grande problema destes documentos é que eles são pouco valorizados e menos ainda atualizados, fazendo com que eles terminem até causando mais mal do que bem, já que eles podem até mostrar informações desatualizadas e incorretas sobre o projeto em questão.

Ainda não temos fábricas de clones

Infelizmente para alguns gerentes, nós ainda não temos as “fábricas de funcionários padrão ACME” e eles ainda não podem pedir funcionários conforme uma receita pré-definida. Aceitar e aproveitar-se da individualidade de cada um dos membros da equipe são sinais de um bom gestor, que percebe as oportunidades que um ambiente diverso pode trazer para os seus negócios.

Tentar se dono do mundo e “jogar” como se todos os outros fossem concorrentes nunca leva ninguém a nada, equipes são chamadas assim porque espera-se que elas possam trabalhar em conjunto para um bem em comum, mas para isso eles precisam de um técnico que seja capaz de direcioná-los na direção correta. Mas lembrando sempre que direcionar não é pegar pelo braço e mandar seguir um caminho, é dar as condições para que cada um possa escolher o caminho que mais lhe agrade.