O processo imbecilizante de desenvolvimento: jogando o homem fora

O processo imbecilizante de desenvolvimento: jogando o homem fora 1
Me assusta o quão profético foi o Devo com seu conceito de "de-evolution"

Me assusta o quão profético foi o Devo com seu conceito de “de-evolution”

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.

(link para o vídeo: https://www.youtube.com/watch?v=fD1512_XJEw)

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.

Como o programador é visto na metodologia lenta

Como o programador é visto na metodologia lenta

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?

9 comments on “O processo imbecilizante de desenvolvimento: jogando o homem fora

  1. Rafael Romão

    Essa realidade é triste mesmo. E difícil de ser mudada. Os motivos você já identificou. Eu busco ter sempre os melhores ao meu lado, e ajudar aqueles em quem vejo potencial. Assim como gosto de aprender um pouco com todos também.

    Mas cada um pensa de um jeito, tem um objetivo, uma forma de encarar seu relacionamento com o trabalho, a carreira e com os outros. O que tento é entender cada um (chefe ou colega, evito fazer distinção, tento encarar como apenas funções, não uma hierarquia) e tentar obter o melhor que consigo de cada perfil que encontro. Mas as vezes da vontade de chutar o balde mesmo. Tem casos perdidos sim.

    Recomendo um mini-curso muito bom que fiz esse ano e que fala a respeito dessa questão: http://www.institutogti.com.br/online/cursos/detalhes/lideranca-negociacao-e-gestao-de-conflitos-62

    Responda

    Kico (Henrique Lobo Weissmann) Reply:

    Oi Rafael, eu tenho uma visão mais cruel.

    Inicialmente vejo todos como gênios ou no mínimo “temporáriamente perdidos”. Aqueles que realmente não valem à pena, para manter a saúde do restante simplesmente são cortados porque estão no lugar errado. Ao menos é assim que deveria ser.

    Bacana este mini-curso hein? Vou dar uma olhada sim.
    Alguns anos atrás li um livro muito bom também indiretamente relacionado ao assunto: se chama “Behind Closed Doors”, de Johanna Rothman

    Responda

    Éderson Cássio Reply:

    Eu ia falar exatamente isso, os “perdidos” estão no lugar errado.

    Como professor, às vezes me dá aquela perda de fé na humanidade. Como tem gente besta nesse mundo, né? Mas penso eu que o que chamamos de “burrice” é pura e simples FALTA DE FOCO.

    O aluno “burro” não está focado em estudar. O novo empregado mais perdido que cego em tiroteio não está focado naquele trabalho. Eles simplesmente queriam estar fazendo outra coisa. Crianças e jovens com problemas familiares não conseguem ir bem na escola porque estão com a cabeça em seus problemas.

    Pode ser falta da pessoa aprender a esquecer seus problemas externos e aprender a se FOCAR. Agora, tem muito sujeito entrando em TI, desenvolvimento, etc. “porque dá dinheiro” mas é aquele que odeia ler e odeia matemática. Daí haja foco, o lugar dele não é onde ele está.

    Responda

  2. Bruno Furtado

    Isso se deve a duas forças que são conflitantes a necessidade do mercado em padronizar e modulizar o desenvolvimento de software e ao mesmo tempo o desenvolvimento de software ser um processo criativo e que está diretamente relacionada com a comunicação e interação entre individuos.

    Contudo, como a própria engenharia de software é um meio termos entre esses dois interesses conflitantes, deve existir um meio termo entre o que deve ou não ser burocratizado. Afinal, o conhecimento e as decisões intrínsecas tomadas por aquele time auto-gerenciavel deve ser documentada, por exemplo, para que novos membros desse time ou para novos times possam facilmente obter esse conhecimento.
    Afinal, se o cara for ter que explicar sempre o por que de cada decisão, a produtividade dele também vai cair, mesmo não havendo processos.

    Não esqueça que como eu disse anteriormente que essa burocratização é uma necessidade mercadologia, acredito que startups não possuam esse problema, por serem justamente pequenas e de fácil gerenciamento. Contudo, o problema está quando você tem empresas grandes e que tratam software como um bem passivo.

    Sempre existiram bons e pessímos profissionais em qualquer área. Concordo com você que existem pessoas que não deveriam está na área, mas vai-se fazer o que se há vagas e demanda? O mercado contrata.
    E é o por isso que startups se destacam: possuem os melhores profissionais ou melhor, profissionais mais dedicados. Por que como você disse no seu texto: se “Há gente ruim de serviço, desmotivada ou simplesmente babaca” qual é o bom profissional que vai querer ficar em um ambiente assim?!

    Muito boa a discursão, como sempre!
    Abs.

    Responda

  3. Rodrigo Vieira

    Grande Kico!

    Por causa desses e de outros textos acesso esse blog várias vezes por semana! E recomendo sempre que possível os textos a outras pessoas!

    Grande abraço!

    Responda

    Kico (Henrique Lobo Weissmann) Reply:

    Valeu!

    Responda

  4. Dyego

    É kico, é um tema muito intrigante e foi muito legal ver seu ponto de vista. Conheci seu blog a 1 semana e percebo que vc está no nível “foda” que citou de Frankl.
    Concordo com você que nivelar por baixo prejudica quem se esforça, foca, e não se contenta com pouco, busca sempre o melhor, etc.
    Entretanto, esperar que que pessoas assim seja comum normalmente gera desapontamento, infelizmente. Não porque sejam incapazes, mas simplesmente porque não querem (de verdade) serem melhores.
    Particularmente, prefiro reprovar em Projeto e análise de algorítmo do que colar, copiar trabalhos da net, etc só para conseguir passar e seguir adiante, porque considero ter um mínimo domínio sobre o assunto fundamental para minha formação, mas não tenho dúvida que este comportamento está muito abaixo do padrão. É claro que existem outros, mas são poucos.
    O pior é que a tendencia deve ser piorar, devido ao aquecimento do mercado e ao aumento do n° de vagas ofertadas nas universidades. Os professores têm que escolher entre reprovar cada vez mais alunos ou “abrir as pernas” e aliviar nas avaliações, e confesso que a 2° opção não é incomum (para não dizer dominante).
    Isso acaba criando uma bola de neve, alunos menos preparados vão se formando, entram no mercado, na vida acadêmica…
    Enfim… concordo com você que estimular as pessoas e esperar o melhor delas é excelente, e isso não se restringe à vida profissional da área de TI. Tudo isso que você levantou está muito enraizado (pelo menos no Brasil) com as questões culturais, bom é o malandro, não o esforçado e competente, e ai as práticas lentas se justificam (pelo menos em parte).
    Excelente discussão, parabéns. Abs.
    (críticas são sempre bem vindas ^^).

    Responda

    Kico (Henrique Lobo Weissmann) Reply:

    Oi Dyego, obrigado!

    Concordo com você: esperar sempre o melhor acaba gerando lá suas decepções. Aliás, toda expectativa né?
    Mas o que realmente me deprime é ver algo tão foda como o homem ser normalmente jogado fora por tão pouco, não é mesmo?
    Há aqueles que sempre serão ruins? Sure!
    Mas será que não há aí também muita pérola oculta?

    Responda

    Dyego Reply:

    Tem razão.
    Ai entra o papel do “lider” substituindo o “gerente”, quebrando o paradigma do “manda quem pode, obedece quem tem juizo” e permitindo que essas pérolas ocultas sejam descobertas mais facilmente.

    Responda

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.