O processo imbecilizante de desenvolvimento: jogando o homem fora

Texto escrito em 2013

Todo mundo fala com muita empolgação a respeito de processos ágeis e eu, como todo bom "do contra", resolvi falar um pouco sobre processos lentos que com extrema agilidade transformam um ser pensante em mero símio.

Estes processos lentos apesar de tão combatidos continuam por aí com toda a força gerando sistemas a todo vapor. Nestes momentos me pergunto: dado que a criatividade é a origem do bom software o que ganhamos com a discreta criminalização que a sujeitamos? Dinheiro: muito dinheiro e aqui vou lhes explicar uma teoria a que cheguei (é bem óbvia na realidade: o nome teoria é só enfeite).

O imbecilizante processo de desenvolvimento de software

De vez em quando tenho crises nas quais devoro livros de algoritmos e estruturas de dados em surubas envolendo Cormen, Ziviani, Knuth, Skiena e muitos outros. Invariávelmente ao término deste coito algorítmico sempre fico com a triste sensação de que se a leitura destes textos fosse maior e melhor difundida não se falaria tanto em processo de desenvolvimento pois este surgiria naturalmente como consequência. A razão é simples: se você sabe o que faz e como a variação que justifica tantos processos cretinos diminui.

Com certeza o leitor já deve ter batido com uma conversa sobre processo que tem uma forma muito parecida com a que descrevo abaixo:

Proponente: sabe, a gente devia fazer assim, o que acham?
Ouvinte: é verdade, mas e se alguém [cita uma atitude absolutamente cretina que apenas um imbecil o faria]?
Proponente: tem razão, precisamos bolar algo que seja a prova de idiotas!
(E sorrisos de cumplicidade (daqueles que só surgem entre "gênios") aparecem)

Reparou algo de errado aqui? São processos feitos pensando no mínimo denominador comum, ou seja, focados no imbecil e não no pensante. E nestas horas eu me pergunto: será que não sairia bem mais barato simplesmente contratar gente inteligente na qual você possa confiar? Tudo bem: você poderia pagar um salário melhor, mas em contra partida teria uma produtividade maior. Por que isto não rola hein? Como disse acima, eu tenho uma teoria.

Fato é que pessoas inteligentes não precisam tanto assim de regras fixas pra definir a melhor maneira de se trabalhar. Elas entram em um acordo naturalmente e a partir de então simplesmente por que todos saem ganhando. Concordo 120% com Viktor Frankl: quando você exige o mínimo do homem você obtém no máximo o pior dele. (o vídeo abaixo é muito inspirador). E não estou inventando isto, basta ver que diversas metodologias ágeis seguem o princípio de equipes auto organizadas.

Processos deveriam ser no máximo sugestões para se obter melhores resultados baseados na experiência passada do grupo ou de alguém que passou pela coisa e funcionou. O problema é que neste tipo de processo lento as sugestões fácilmente se tornam imposições definidas por uma "elite" que sempre vê o resto da equipe como um bando de macacos incapazes de pensar.

E é fato: a uniformização do pensamento quando feita de forma rígida só piora as coisas. Começam a surgir eventos como assédio moral, baixa estima, maior incidência de bugs, tudo isto fruto do corte que ocorre na criatividade alheia. Quer ver uma frase ótima? "Tem gente muito 'criativa' com a qual precisamos nos preocupar". Tem também aquela sarcástica ótima: "A criatividade humana não tem limites!".

É fácil detectar um processo imbecilizante: ele é focado no menor denominador comum, em evitar ao máximo que um imbecil cometa algum erro e se esquece do fato de que as pessoas pensam.

Uma possível justificativa para esta monstruosidade

Cheguei à conclusão de que processos assim são tão comuns por gerarem lucro: muito lucro. Soa estranho o que estou dizendo, não é mesmo? Vamos aos pontos.

O ignorante trabalha mais

Como pode alguém que trabalha mais gerar mais lucro? Simples: pra começar o valor hora é inferior, então parte do problema é resolvido. Continuando, pelo fato de não possuir informação mais profunda a respeito de algoritmos e estruturas de dados e na outra ponta você ter um cliente que não sabe e na maior parte não tem de saber o projeto sempre fica mais complexo que o necessário. Projeto mais complexo equivale a mais pontos de função (processos lentos amam isto) ou homens hora, que leva a um projeto mais caro mas que, com mão de obra mais barata, até que se sustenta.

(sabem algo que acho interessantíssimo nesta história de pontos de função? Raríssimas vezes você vê um esforço de explicar para o cliente como a coisa funciona. Já repararam isto?)

E claro, como muitas vezes o ignorante se forma na própria empresa - começa como estagiário, depois vira programador, gerente, etc - acaba achando aquilo tudo muito normal e aceita. Olha que ótimo: o ignorante além do mais não reclama ou questiona! A "elite" agradece. ;)

O cliente passa a aceitar qualidade inferior

Dado que é uma prática comum de mercado o cliente já ouviu histórias sobre bugs, projetos que atrasam, etc. Como consequência, fica muito mais fácil enviar algo que seja no máximo meia-boca. É aquele raciocínio do tipo "ah, todo mundo faz merda mesmo, por que vou fazer diferente?".

Além disto, tem também a "cilada do especialista": o cliente sente-se mutias vezes constrangido de questionar o especialista no assunto. "Quem sou eu para questionar vocês que tem tanta experiência assim com a coisa né?".

Se gera lucro, por que mudar?

Algum exaltado poderia dizer que estou defendendo este tipo de processo de merda. Não estou: acho uma monstruosidade e acredito que não se sustenta a médio e longo prazo. Se você for levar em consideração que períodos de crise econômica surgem e nestes as soluções inteligentes se mostram as mais viáveis (exemplo: surgimento do Toyotismo em um Japão falido), fica bem óbvio que este tipo de empresário mesquinho vai quebrar.

Este tipo de pensamento normalmente brota de gente no máximo medíocre e insegura que enfrenta uma imensa dificuldade em aceitar um colega de trabalho que lhe seja superior profissionalmente. Esta é a verdade: bons profissionais gostam de trabalhar com gente foda e de preferência melhor.

Conclusão

Eu sei que parece teoria da conspiração e muitos vão dizer que estou dramatizando (é óbvio que eu vou dramatizar um pouco para dar mais graça ao post, assumo), mas não é algo tão longe da realidade quanto possa parecer. Realmente acho uma pena ver empresas por aí nesta hipocrisia de dizer que seu ativo mais importante são as pessoas e ao mesmo tempo tratando-as como se fossem imbecis.

Há gente ruim de serviço, desmotivada ou simplesmente babaca? Com certeza! Mas neste caso será que generalizar é uma solução realmente inteligente? Este é o grande questionamento.

Termino parafraseando Viktor Frankl:

Quando você toma o homem pelo que ele realmente é ou menos você não o faz melhor, mas pior, mas quando você espera o máximo das pessoas, você obtém o que ele realmente deveria ser: alguém FODA.

E aí? Sou apenas um tolo otimista com a humanidade?

14