terça-feira, 6 de outubro de 2009

Mentiras Modernas


Ainda de acordo com a falácia das “Terceirizações Indiscriminadas” dos anos 90, algumas empresas se especializaram numa consultoria muito promissora.

Primeiro ganham uma enorme quantidade de dinheiro vendendo o conceito do 'monitoramento de desempenho' de todas as atividades e processos que, quando muito, deveriam ser apenas os processos “chave”. O que inevitavelmente finda por engessar totalmente a produtividade. Claro que vem muito bem casado com o extraordinário conceito do “ISO” - “Certificação de que seu processo absolutamente engessado, mal formulado, mal planejado e mal executado é seguido à risca!”; “RUP – A metodologia que se você só utilizar os “0,01% - sem Waterfall”, que você precisa, é ótimo. Pois o resto vai acabar com sua produtividade também”; “CMM – Certificação de produtividade ZERO parecendo trabalhar muito!”.

Uma certa empresa de vendas nos EUA sempre ficava entre as três primeiras colocadas em seu ramo. Afim de conhecer possíveis pontos para melhorias em seu processo começou a monitorá-los, adotou o BSC e certificou seus processos com o ISO666. Agora eles conhecem muito melhor o seus processos. Os diretores possuem relatórios gerenciais detalhados de tudo que acontece. Dashboards, Olaps e Data-Mining, sabem tudo real-time. Só não sabem exatamente porque nunca apareceram entre as 100 primeiras colocadas.

Mas esta empresa de consultoria, terceirizada que era, precisava inventar um meio de ganhar mais dinheiro. Ai veio grande falácia que mais atinge o mercado de informática: “O negócio da sua empresa não é software.” Uma frase genial não? Nesta frase lê-se: “Deixa que eu faço para você por quatro vezes o que lhe custaria pela barganha de um um quinto da qualidade”. Óbvio não? Afinal esta empresa não é ONG o negócio deles e ganhar dinheiro! Frase esta que pariu o mais-que-falido conceito de “Fabrica de Software”.

Já vi alguns “Setores de Informática/Serviço” de algumas empresas repetir esta frase. Absurdo! O negócio do “setor de TI” de qualquer empresa é SER Ti. É sim prover o melhor serviço, com a melhor qualidade e pelo melhor preço, afinal uma área interna não visa lucro. E isto independente do negócio “FIM” da empresa não ser tecnologia. E pior que na maioria das vezes, se bem analisado, seria estratégico para esta empresa!

E a coisa ainda piora, logo entrou em cena um estranho perfil: O gerente de projetos certificado”. Aquele mesmo que não entende quase nada de informática, mas como eles mesmo dizem “podemos gerenciar qualquer negócio”. Bom monitorar sim. Gerir e tomar decisões certamente não.

Você faria uma cirurgia no cérebro com alguém que nunca praticou e não é especializado em neurocirurgia, mas tem duas certificações em Gerência de Projetos? Você daria para um gerente de projetos que nunca praticou engenharia a responsabilidade da construção de um prédio de vinte andares, aonde você morará bem no meio? Disputaria a guarda de seu filho com um PMO supra-certificado-plus que nem advogado é? Não? Então deixa a engenharia de software com a gente. E o “tal” negócio “fim” da empresa? Virou gerenciar projetos de “merda” pelo visto. Sim porque não da nem para chamar de o lixo que tem sido produzido por ai de “projeto de software”.

Precisamos dar meia volta e nos dedicar menos aos termos enfadonhos dos PMBOK's, PMI's e PQP's que ecoaram como a voz dos deuses do Olimpo nos ouvidos das gerências e diretorias e cair dentro do problema. E o problema é que a Engenharia de Software de fato esta abandonada. O perfil do desenvolvedor tem sido cada vez mais desvalorizado. Já vi fabricas de software contratarem arquitetos que, quando muito, deveriam ser programadores juniores. Estas mesmas fabricas jorram no mercado profissionais com quatro anos de experiência, ou melhor, quatro anos de experiência em fazer bacalhau. E até nas fábricas o vírus pegou! Conheci uma que não estava conseguido atender a produtividade prometida em edital e contratou mais seis gerentes de projetos e nenhum desenvolvedor! Fechou as portas claro.

Algumas pessoas responderiam com ar debochado: “Ah, então vou desenvolver tudo aqui dentro?”. Claro que não! Absorver do mercado sempre que puder! As empresas de software fazem isto também. Empresas de desenvolvimento de software não fazem suas próprias IDE's, nem seus bancos de dados, nem gerenciadores de email, nem aplicações de apoio a gestão tais como ERP e planilhas. E acreditem, elas não possuem sistema operacional próprio. Mas elas sim podem aproveitar seu potencial de desenvolvimento para 'eventualmente' absorver uma tecnologia Opensource e reduzir custos.

Aliais isto também é uma situação muito bem estudada em nossa área! Área de engenharia de software. Agora, se o desenvolvedor for muito ruim vira gerente de projetos. Se for muito bom, precisa de aumento, logo, vira gerente de projetos (http://en.wikipedia.org/wiki/Peter_Principle). Se nem desenvolvedor foi, for da área de administração ou comunicação, vira um ótimo gerente de projetos!

Não. Não estou diminuindo a importância das matérias administrativas que podem agregar muito valor. Mas certamente: Menos de '20%' de seu conteúdo é realmente necessário na maioria dos projetos de software; Com processo menos burocratizados, um bom gerente de projetos poderia facilmente monitorar 10 a 30 projetos! Menos processo e mais foco em TI em si. Líder de projetos sim, mas subordinado ao técnico! Se um engenheiro falar que o prédio precisa de mais cimento e menos terra, a obra pode até não parar mas sem cimento não continua a fazer concreto. Parece simples, mas na área de software se o desenvolvedor falar qualquer coisa do gênero vai ouvir um “se vira mas entrega no prazo”. Se falar que vai precisar de mais tempo vai ouvir o famoso “e o que você esta fazendo de meia noite ás seis da manhã?”. Assim é fácil demais gerenciar, caro será pagar o preço a da manutenção do código feito entre “meia noite e seis da manhã”.

Para quem aprendeu que tudo foi uma grande mentira, reaprendeu a velha lição:
"Se você quer algo bem feito, faça você mesmo"

Se tivessem contratado minha consultoria eu teria dito:
"Não terceirize nem delegue a responsabilidade de 'jantar' com a esposa, mesmo que você não queira 'jantar' direito."

8 comentários:

Saulo disse...

O cara tá empolgado mesmo, 3 posts em menos de uma semana.
É isso aí. Muito bom o post. Realmente o que tenho visto em nossa área ultimamente é uma inversão total de valores. Algumas empresas tem acreditado que apenas controles, medições e gerência é a solução para todos os seus problemas. Acredito também que esse fenômeno não aconteça so na área de TI. Consigo notar isso, de maneira geral, em empresas qua trabalham com serviço. A preocupação em ter dados gerencias e de controle se torna mais importante que a atividade fim e que o seu produto final. Acho que isso explica o fênomeno do gerenciamento de projetos ter ganhado tanta importância nos útimos anos. Não acho que esse tipo de controle não deva existir, acho que eles agregam valor ao processo de desenvolvimento (seja em TI ou em qualquer outra área), mas não se deve perder o foco que o produto final é o mais importante da história.

É como você falou anteriormente, enquanto uns já estão voltando, a maioria ainda esta indo. É engraçado ver que empresas que já estão caminhando no sentido oposto, voltaram a valorizar o desenvolvimento do seu produto com pesquisas, novas tecnologias, especializações tem conseguido resultados muito mais interessantes.

Unknown disse...

Concordo com o que disse. Na prática, a maioria dos gerentes de projeto focam muito em prazo e custo. A qualidade é deixada em segundo (ou em nenhum!) plano. A consequência disto é o fracasso do projeto. Às vezes, o fracasso não é percebido na entrega, mas com o tempo o software se torna muito problemático. É um ciclo vicioso! Isto tudo gera muito retrabalho, aumentando o custo e atrasando o projeto. O processo só faz sentido se contribui para o sucesso do projeto. Não pode atrapalhar.

Nightwalker disse...

Empolgadão mesmo! Mas ae, se for pra falar de tudo que tem errado na área de TI aqui do Brasil principalmente, com 3 posts por semana você termina sua análise só em 3009 hein...
Mas muito bem colocado, uma das coisas que mais incomodam em TI pra mim hoje em dia é essa inversão de valores imbecil. Que provavelmente foi baseada em engenharia cívil ou alguma outra coisa que não se aplica a área de TI.

Seria um bom começo o pessoal começar a separar as coisas, tipo: "Se você trabalha com administração(Gerenciamento de projetos, etc), você NÃO é da área de TI, e precisa de um outro diploma, não um de TI, se você é desenvolvedor, arquiteto de software, projetista, etc... você sim é da área de TI).

Sergio Marcelo disse...

Muito bacana. Acho que para os Gerentes de Projeto a qualidade está muito mais ligada aos indicadores do projeto do que do produto.
- Concluiu no prazo? Então tá certo.
- Fez o que estava escrito no escopo? Então tá ótimo! Desculpe-me, mas, o que estava fora do escopo deve ser realizado em um outro projeto.

Infelizmente SW não é construído encaixando peças pré-fabricadas. Quando um SW está em execução (construção) são quando as ideias evoluem mais rapidamente. Normalmente, no meio da execução de um projeto de SW, percebe-se que uma funcionalidade que estava planejada perdeu a importância em relação a uma idéia nova e criada nesta semana. Replanejar? Mudar cronograma? Medições? Estas atividades de projeto levarão com certeza muito mais tempo do que se a nova funcionalidade do SW fosse construída imediatamente. De fato, as regras que valem para gerenciar um projeto de construção civil não se aplicam a SW.

Thiago disse...

Concordo plenamente!
A gerencia de software atualmente está muito distante do satisfatório.
Em minha opinião, grande parte dos gerentes atuais deveriam estudar ciência (entenda ciência da computação) ao invés de CMM, processos e todas aquelas "teorias" que não passam de frases vagas e palavras bonitas.
Acredito que se fizerem isso teriam argumentos mais sólidos sobre qualquer assunto relacionado a software.

Guilherme Garnier disse...

É verdade, hoje em dia até o Scrum, que foi criado para acabar com algumas burocracias dos processos de desenvolvimento, já tem certificação...

Rodrigo Lanes disse...

O blog está muito bom! Parabéns...

Certificações pra que se o que vale é o dia-a-dia? Você contrataria alguém certificado que nunca trabalhou? Ai me vem a lembrança da velha frase: "prova não prova nada!"

Abraços

Rodrigo Carvalho disse...

É uma triste verdade. Agora até para passar num concurso público você tem que saber PMBOK, Cobit, ITIL, CMMi, MPS-Br, várias ISOs relacionadas a segurança da informação e "qualidade de software", etc...