Fábricas de Software X “Alfaiataria de Software” Novembro 21, 2006
Posted by felipecruz in Arquitetura, Empresa, Gestão.add a comment
Essa discussão é velha…. Você trabalha em uma fábrica ou numa alfaiataria? O conceito de fábrica (comum a todos) vem de um lugar onde se produz um produto em massa. Segundo o wikcionário, “ser da mesma fábrica” significa “agir de modo igual”. Isso deveria valer para softwares também, mas na prática não é o que acontece. Clientes que não sabem comprar compram de vendedores que não sabem vender e os esboços ou idéias de sistemas chegam até nós. No mundo em que vivemos, quase sempre quem manda é o dinheiro, então os clientes como os donos do dinheiro se colocam de uma forma extremamente intrusiva(em muitos casos) no processo da desenvolvimento de uma fábrica. Vamos culpar os cliente pelo primeiro erro:Comprar de uma fábrica um serviço de consultoria.
Se eu quero um terno sob-medida eu procuro um alfaiate. Se o cliente quer um software que atenda minuciosos padrões(questionáveis) de “qualidade”, ele deveria procurar um serviço de consultoria e não uma fábrica. Entende-se, ou pelo menos deveria, entender que uma fábrica de software deve(deveria..) funcionar como uma linha de montagem. Fábricas podem usar e abusar de geração de código, frameworks, geradores de modelo de Dados etc… O objetivo de uma fábrica de software é produzir software em massa. Os famosos cadastros que as empresas gostam de comprar. Se o seu cadastro precisa ser extremamente customizado ao seu problema, procure uma consultoria. Se seu problema é muito específico, cheio de detalhes e exceções, talvez ele não tenha sido resolvido da melhor forma. Analistas de sistemas são profissionais com boa visão e raciocínio lógico para resolver problemas e estruturar processos.
Voltando ao primeiro parágrafo, todos os softwares deveriam ter um comportamento parecido. No caso da produção de software, se não estamos falando de software de prateleira, devemos substituir “agir de modo igual” por “ser construido de forma semelhante”. Isso sempre nos leva a palavras muito usadas por ai: Componentes, Serviços, reuso etc.. Clientes não deveriam interferir nos processos de uma fábrica; jamais. Na minha opinião o cliente pode apenas exigir que o software rode em uma certa plataforma, com determinado SGBD(se necessário) e que atenda alguns requisitos não funcionais como tempo de resposta. Impedir de usar frameworks, interferir na modelagem etc.. JAMAIS. O software produzido deve atender apenas a requisitos. Fazer isto, fazer aquilo.
Mas existe o erro também de quem vende. Isso interfere de uma forma gigantesca dentro de uma fábrica.
Como analista, que trabalha dentro de uma fábrica(hipoteticamente) eu espero que os responsáveis pelo projeto e os profissionais em contato com o cliente filtrem tudo que está errado do outro lado. Minha função é construir sofware. Não me interessa se o cliente não gosta do Spring ou do hibernate. O que me interessa são prazos e requisitos e só. Os papéis tem que ser bem definidos. É inadmissível ver gerentes que não gerenciam, analistas de requisitos que não produzem documentação adequada e o seu telefone tocando com um cliente mau humorado do outro lado testando uma funcionalidade que ele nem deveria ter acesso ainda. Os vendedores não estão nem ai… Vendem e ganham suas largas comissões e francamente, por um trabalho extremamente mau feito.
Os vendedores vendem projetos que nós não temos interesse em construir. Os vendedores não nos consultam antes de vender. Hoje eu sou mais um dos que acha necessário uma equipe de “pré-vendas” composta por técnicos(analistas e gerentes) para no mínimo dar alguma opinião do impacto da venda de um determinado projeto. Projetos ruins geram insatisfação, levam funcionários a abandonar a empresa, muito stress etc…Tudo é uma bagunça mesmo, com graves conseqüências… O trabalho fica chato, os profissionais perdem a motivação. Nós falamos mau dos clientes e eles de nós, e mesmo assim nos reunidos toda semana!
Graças a Deus hoje eu não me preocupo tanto com isso, afinal eu vou abrir minha empresa até 2010, faltam apenas 3 anos! E na minha empresa eu vou construir as minhas idéias, nada mau… Eu serei cliente e analista ao mesmo tempo! Conflitos? só existenciais… hehe