Nossa área é única no mau uso de boas idéias. CRM, SOA e BPM estão aí para mostrar que não minto (sozinho). O que dizer então quando adotamos péssimas idéias? A mais daninha-danosa delas atende pelo nada singelo pseudônimo de "Fábrica de Software".
A infelicidade já começa no nome: "Fábrica"? Um termo centenário, nos remete ao início da famigerada era industrial [1]. "De Software"?? A 'alma' das empresas (e de várias outras coisas, do refrigerador ao carro) do século XXI. Os dois termos são incompatíveis. Distantes no tempo, representam dois mundos muito diferentes. Quem teve a infeliz idéia de juntá-los?
Não importa. O que importa aqui é o tamanho do estrago que a triste idéia está causando. Nos últimos anos tive a chance de conhecer vários exemplos. Desde pequenas 'fábricas' no interior até mastodontes transnacionais em algumas capitais. Independente do porte ou localidade, quase todas compartilham duas coisinhas:
- Clientes insatisfeitos; e
- Processos quebrados.
Qual a razão da insatisfação dos clientes? Oras, a péssima qualidade dos serviços prestados pelas fábricas. E por que então os clientes não buscam outras alternativas? Alguns buscam... outras fábricas. E descobrem que o problema é generalizado. Que, no popular, estão 'num mato sem cachorro'. Em alguns casos ficam aprisionados na fábrica "menos pior". E sabe por que ela é menos pior? Porque contratou ex-funcionários de seus clientes, gente que manja um pouco daquele negócio e seus 'sistemas legados'.
O cliente merece o inferno que vive. Afinal, terceirizou a criação e manutenção de um de seus principais ativos - o Software. Ele não percebe que aquele tanto de código que ele 'embarca' em seus processos de negócio é puro conhecimento. É conhecimento destilado, fino, sensível e abrangente. É conhecimento sobre suas estratégias, regras e recursos. Enfim, este cliente não entendeu ainda que Software é um Ativo. Um ativo que deveria merecer, no mínimo, o mesmo tratamento dispensado aos ativos tangíveis (seus caminhões, servidores, grampeadores...). Pensando bem: tire o "no mínimo". Melhor, tire a comparação com ativos tangíveis. Software é um ativo que deveria ser tratado como a grana que o negócio guarda em caixa (1 e 2) e nas contas bancárias.
Obs.: Não estou dizendo que toda terceirização é ruim, pelamordedeus! Mas é preciso saber
O que Não Terceirizar [2].
.:.
E por que o processo das fábricas é quebrado? Oras, dá pra confiar no processo d'uma empresa que nem soube definir sua razão social? De uma empresa que achou chique entrar na moda das "fábricas"? Colocando d'outra maneira: é possível que exista uma Fábrica de Software?
Ficando no básico: fábricas, em seu conceito original, reutilizam peças e componentes. Está aqui um dos elementos fundamentais de uma fábrica. Nossas fábricas reutilizam alguma coisa? Oras... nem o CMMI nível 5 sabe o que é reuso! Mas o buraco é mais embaixo. Bem pra baixo...
As fábricas pressupõem a desumanização de um típico trabalhador do conhecimento. Traduzindo: esperam que os programadores não pensem, ou pensem o mínimo. Algumas, no íntimo, torcem para que chegue logo o dia em que os macaquinhos gerarão código em troca de bananas. Seriam mais úteis para seus clientes e para a sociedade se investissem grana na automação das partes repetitivas do trampo do desenvolvimento de software. Se pesquisassem e gerassem excelentes
frameworks e geradores de código. Mas a maioria preferer pagar '3 mínimos' para um moleque de 18 anos realizar 3 CRUD's [3] por dia...
.:.
As fábricas de software têm um irmão: os serviços de telemarketing. O supra-sumo da idiotice de um século que insiste em não acabar [1]. Com eles as empresas terceirizam alguns de seus processos primários mais vitais: o relacionamento com clientes. E terceirizam boa parte de seu cérebro para as fábricas. Talvez percebam o tamanho da imbecilidade no dia em que restar apenas o departamento financeiro... Será? Sei não...
- Leia qualquer livro do Domenico De Masi para entender pq a era industrial é famigerada (e pq o século XX demora pra acabar). Pode ser qualquer um mesmo... é que ele é meio repetitivo...
- Nome de um pequeno artigo publicado em "E-Business e Tecnologia", uma coletânea da HSM Management publicada em 2001 pela PubliFolha.
- CRUD (Create, Retrieve, Update, Delete), termo que utilizamos para identificar aquelas telinhas para manutenção em tabelas.