quarta-feira, 18 de abril de 2012

Intermediários (continuação)



A intermediação do processo produtivo de software é uma das maiores pragas da Tecnologia da Informação, que afeta todas as empresas, sejam elas de TI ou não. Nós, os programadores, devemos ficar atentos para isto e lutar contra a interferência de "leigos" no caminho crítico dos projetos de software.




Parte II - Muito cacique para pouco índio



Desde o nosso post "Japonês em Braile", nós estamos alertando para o excesso de intermediários no processo produtivo de software. Na maioria das vezes, isto ocorre por vontade das pessoas em participar da área de TI, sem quererem se envolver na parte técnica, ou seja: sem quererem "sujar as mãos".

Porém, um outro tipo de "animal" está surgindo nesta "fauna", e vem causando prejuízos sucessivos às empresas, sejam produtoras de software ou não. Este animal é o "Noveau Chef", ou seja, aquele cara que era técnico (normalmente medíocre) e que, por "forças ocultas", é guindado a um cargo de chefia.

Líder técnico tem que ser um técnico, antes de ser um líder!

Conforme já mencionamos diversas vezes, inclusive em nosso livro "O Guia de Campo do Bom Programador", a área de software exige conhecimentos muito específicos, logo, para liderar projetos e equipes de construção de software, é necessário que o chefe seja também um Engenheiro de Software, muito bem qualificado para o tipo de projeto em questão.

Acontece que, no final dos anos 70, surgiu uma "onda" que apregoava: "Um bom analista não precisa saber programar"... Mentira! Esta "falácia" foi uma das responsáveis pela "crise do software" (junto com outros fatores), especialmente no Brasil.

Agora, vemos uma nova forma dessa velha "onda", capitaneada pelo pessoal "certificado" PMI (reparem que eu coloquei certificado entre aspas). Eu sou certificado PMI, e no PMBOK fala-se que o conhecimento do Gerente sobre a área do projeto que vai gerenciar, é um fator importante para o sucesso do mesmo. Ou seja: para liderar projetos de software é preciso entender de Engenharia de Software.

Antes de escolher um Líder para uma equipe de software, um administrador tem que considerar o que realmente necessita: mais um puxa-saco para ficar irritando seus Engenheiros de Software ou um líder respeitado, que possa agregar todos em torno de um objetivo comum?

Pois bem, infelizmente, os administradores não pensam assim, e fatores como: compadrio e política acabam influenciando a escolha de novos líderes na área de TI.

Agora, eu não sou mais técnico!

Outro dia, eu estava em uma reunião em uma grande (eu disse GRANDE) empresa de software. O projeto expunha um Web Service, e alguns clientes relatavam dificuldade em consumí-lo. Entre outras pessoas, estavam presentes o Líder do projeto e o Analista responsável.

Bem, nos primeiros 2 minutos da reunião, o tal "Líder", falou algumas frases-feitas, passando a palavra para o Analista responsável, que era seu funcionário. O Analista mal começou a descrever o problema, quando foi interrompido pelo "Líder", que se levantou e declarou para todos ouvirem: "Bem, eu já fui técnico, mas agora não sou mais... Então vou deixar vocês resolverem esse problema" e saiu porta a fora, para espanto de todos os presentes.

Minha vontade foi sair atrás dele, dando-lhe um tapinha nas costas, e convidando-o para tomar um café. Afinal, se ele que é o "Líder" não se sente responsável pelo problema, por que eu, que não tinha relação alguma com o projeto, deveria me sentir?

Problemas de gestão

Acontece que, por respeito às outras pessoas, eu fiquei na reunião. Ao final, ficou patente que se tratava de um problema de configuração de Web Service, que foi resolvido com duas "Googadas" e com o SOAPUI. Não demoramos mais do que meia hora para resolver tudo.

Então, após analisar com calma a situação, eu concluí que o Analista do projeto não tinha conhecimento e experiência suficientes para trabalhar com aquela tecnologia, e que não havia problema técnico, mas de capacitação.

Ora, bolas! Omessa! Capacitação é problema de gestão! Está no PMBOK que qualquer gerente de projeto tem que gerir o conhecimento e capacitação dos recursos envolvidos. Então se tratava de um problema de Gestão e não de um problema técnico.

O "Noveau Chef", que saiu apressadamente da reunião, sequer se preocupou em criar um plano de capacitação ou de requisitar recursos mais qualificados, expondo seus funcionários a problemas para os quais não estavam preparados para resolver.

Bem, se ele não se envolve na parte técnica e não resolve problemas de gestão, então o que ele faz? Para que ele serve? Por que foi promovido a chefe? Como dizia o Cid Moreira, no quadro do "Mister M": "Mistério!"

Temos que desintermediar o processo produtivo de software

Além de evitar amadores no caminho crítico, é fundamental expor esses "Noveau Chefs", fazendo com que sejam destituídos de seus cargos e substituídos por Engenheiros de Software mais competentes. Desta forma, evitamos prejuízos, diminuímos custos e aumentamos a produtividade da equipe.

Um líder tem que ser reconhecido, tem que ter méritos e tem que entender de gestão também, afinal, é por isto que ganha mais do que os outros. Reconheço que ele não precisa mais "meter a mão na massa", mas tem que entender como fazer isto, de modo que possa gerir uma equipe de Engenheiros de Software.

O pior é o desdém com que os "Noveau Chefs" se referem aos técnicos... Como se fossem um bando de robôs-soldadores, cujo trabalho não tem valor agregado.