Pode até parecer que neste post vou falar mal das fábricas de software. É, e eu vou mesmo! Os puritanos que me perdoem.
Desde a conferência de NATO em 1968 a indústria de software discute problemas referentes a imaturidade em processos de desenvolvimento de software. A questão discutida desde então é a baixa qualidade dos produtos de software, os custos e prazos não cumpridos e sobretudo funcionalidades em desacordo às necessidades do negócio.
Para tentar reduzir os problemas da crise do software, várias abordagens foram iniciadas. Uma delas foi a iniciativa do governo americano juntamente com universidade de Carnegie Mellon em desenvolver o modelo de maturidade CMMI. Abordagem semelhantes foram adotadas pelo governo brasileiro em conjunto com universidades e a Softex para desenvolver o MPS-BR.
Desde então, a indústria de software vem evoluindo e, a partir dos anos 90, surgiram propostas de desenvolvimento de processos formais como RUP, pautados sobre modelos de maturidade, além da evolução de autores consagrados como Sommerville, Pressman, Yourdon, Rumbaugh, Booch, Jacobson, etc.
Seguindo essa linha, muitas empresas desenvolvedoras de software buscaram a implantação de um processo padrão de desenvolvimento de software. Até aí tudo bem. O problema começou quando essas mesmas empresas começaram a idealizar o processo de desenvolver software semelhante à um processo industrial, ou pior, um processo de construção civil. Daí surgiu a pior definição já inventada: a “Fábrica de Software”.
Antes de continuar a discussão, vamos primeiro conceituar a palavra fábrica:
“Estabelecimento industrial equipado com máquinas capazes de transformar matéria-prima em produtos prontos para o consumo.” Fonte: Dicionário Aurélio.
…”Uma fábrica é um edifício industrial onde trabalhadores manufaturam bens ou supervisionam o funcionamento de máquinas que processam um produto, transformando-o em outro. A maioria das fábricas atuais têm grandes armazéns e depósitos com equipamentos pesados, utilizados na produção da linha de montagem. Arquetipicamente, fábricas acumulam e concentram recursos – trabalhadores, capital e a infra-estrutura local…” Fonte: Wikipedia.
Aí eu pergunto: O que as definições de fábrica acima tem a ver com desenvolvimento de software?
Em linhas de produção industrial, quanto mais granular o trabalho, melhor. Isso porque o ambiente é controlado, as especificações não mudam com frequência e o trabalho, em sua maioria, é meramente mecânico. Nesse contexto, o operário torna-se mais produtivo em tarefas cada vez mais especializadas por diminuir o tempo de setup entre atividades diferentes. Essa é uma herança Taylorista e Fordista que, para processos de manufatura é adequado por levar a produção em larga escala.
A questão é que um processo de fabricação em uma fábrica é composto de insumos, processamentos e saída. Esse insumos são necessários para a manufatura, agregação de valor, e geração de produtos finais. Mas nesse contexto de fábrica, os insumos e os produtos são tangíveis, o que é bem diferente de software.
Isso não pode se aplicar a software. Software não é manufaturado. Software não é tangível. Software não é produzido em série. Software não se ganha em escala. Software, no entanto, agregava valor em qualidade e em atender as necessidades do negócio.
Faço minhas as palavras de:
- Fábio Akita, em Fábrica de Software é uma Besteira
- Flávio Steffens, em Fábrica de Software
- Beck Novaes, em A Alienação Tecnologica e as Fábricas de Software

Profissional especialista em engenharia de software e desenvol- vimento de sistemas, professor universitário, coordenador do curso de pós graduação em Engenharia de Software Centrada em Métodos Ágeis ofertado pela UNA, mestrando em Engenharia Elétrica com ênfase em Engenharia de Software, Especialista em Engenharia de Software, Graduado em Sistemas de Informação. Sou sócio da MÉRITA - ENGENHARIA DE SERVIÇOS E SISTEMAS e criei este blog dedicado a assuntos como: desenvolvimento e engenharia de software, opiniões pessoais sobre assuntos pertinentes. Os posts deste blog são escritos sem muito rigor científicos e expressam opiniões exclusivamente minhas
[Novo Post] A “Fantástica” Fábrica de Software – http://edgarddavidson.com/?p=545
via Twitoaster
[...] This post was mentioned on Twitter by Edgard Davidson. Edgard Davidson said: [Novo Post] A "Fantástica" Fábrica de Software – http://bit.ly/akdIQ0 [...]
Coloquei um novo post no meu blog: Uma crítica sobre A “Fantástica” Fábrica de Software http://edgarddavidson.com/?p=545
via Twitoaster
@edgarddavidson devidamente comentado =)
via Twitoaster
Com a cada vez maior modularização do software , é possivel montar o software com essa visão de fábrica , que inclusive é como eles costumam fazer , em algumas linguagens cuja a utilização de componentes é muito mais explorada e em alguns CMS esse processo de fábrica é ainda mais observado , possibilitando a criação de empresas que se encaixam na definição acima.
Afinal devemos lembrar que existem diferentes modelos de negocio e a maioria não se define por uma alta qualidade do software mas sim por ter uma qualidade "aceitavel" e um preço acessivel.
Para ver isso a maneira mais fácil em minha opinião é analisar a apple a microsoft , ambas com sucesso em seus devidos nichos.