O que é e como funciona uma fábrica de software

A expressão software factory – fábrica de software em inglês – foi usada pela primeira vez na década de 60. Popularizada apenas nos anos 90, define basicamente a ideia de aplicar conceitos da indústria em geral em ambientes de desenvolvimento de software, de forma a aumentar a produtividade e diminuir prazos e custos, tornando o processo mais independente do fator humano.

Apesar da expressão ‘fábrica’, o processo de criação de uma ferramenta é bem complexo. A fábrica de software cria um produto sob medida para cada cliente e utiliza em suas operações indicadores de qualidade e de produtividade em cada etapa do ciclo de desenvolvimento.

Alguns fatores contribuíram para o crescimento deste serviço, que surgiu para atender novas necessidades do mercado de TI. Entre estes estão a consolidação das técnicas de engenharia de software, o refinamento dos ambientes de desenvolvimento, a alta competitividade do mercado, o aumento da demanda por software e a tendência à terceirização de serviços.

Grandes empresas de TI têm suas próprias fábricas de software, no entanto o mais comum é que este serviço seja terceirizado. Com um mercado consumidor de TI cada vez mais exigente quanto aos aspectos de produtividade, custo e qualidade, as organizações fornecedoras têm procurado se transformar buscando um novo modelo, que supra com eficiência estas necessidades.

Entre os serviços prestados por uma fábrica de software estão o desenvolvimento de sistemas ou módulos, integração de aplicativos, manutenção de programas, incorporação de novas tecnologias, conversão de aplicativos para ambiente web, melhorias de performance e desenvolvimento de web services.

Como é a fábrica que realiza todo o processo, a empresa não precisa se preocupar com infraestrutura, nem de software e nem de hardware, não é necessário disponibilizar espaço e nem profissionais para realizar o serviço, o investimento é pré-definido, portanto não há custos extras ao longo do projeto, e tudo isso com o estabelecimento de um prazo de entrega. Esse é o grande diferencial da fábrica, o cliente não se preocupa com a gestão, apenas solicita o software.

Cada empresa tem uma necessidade específica, mas muitos processos são semelhantes. Por isso, uma fábrica que tenha diversos objetos que possam ser montados de acordo com as particularidades de cada empresa consegue entregar o pedido com maior rapidez. Além disso, como cada componente já foi testado diversas vezes, o resultado é em um produto final com melhor qualidade e custo reduzido.

Para ter um funcionamento adequado, há a necessidade de dividir a fábrica em alguns setores: de atendimento aos clientes, que negocia e especifica as necessidades da área usuária; de planejamento e controle da produção, que faz a alocação dos recursos, estabelece os prazos de desenvolvimento e a definição dos objetos a serem utilizados ou desenvolvidos; de produção, que faz a montagem da aplicação; e de qualidade e garantia, que verifica se o produto final atende as especificações exigidas.

Além de ter esses setores funcionando em conformidade é fundamental para o sucesso de uma fábrica de software é o gerenciamento dos recursos humanos e metodologia de trabalho.

Eduardo Aguilar é gerente comercial da SEND Informática

Profissionais TI

Mais artigos deste autor »

Eventos, cursos, livros, certificações, empregos, notícias e muito mais do mundo da TI (Tecnologia da Informação).


5 Comentários

Claudio Br
1

Como aplicar conceitos que funcionam bem em produção em escala quando o produto é personalizado?
Tornar o processo mais independente do fator humano funciona bem com Commodities.
Já que é para copiar as fábricas, que tal copiar a produção enxuta?

Sérgio Novelli
2

Cláudio, na minha opinião o autor se perdeu um pouco ao definir “fábrica de software”. A verdade é que no início, quando surgiram as primeiras softwarehouses, o que se tentava era sim imitar a linha de produção de fábricas para o desenvolvimento de softwares.
Mas com o tempo, foi necessário adaptar essa metodologia para se conseguir cumprir prazos, custos e qualidade e, graças à essas adaptações, hoje já há metodologias próprias de produção de software que, não se adequam a nenhum outro tipo de fábrica.
Um exemplo claro disso é o SCRUM, que envolve toda a equipe na produção de módulos, trabalhando de forma colaborativa e dinâmica, permitindo entregrar partes do software em períodos especificados (30 dias, geralmente), permitindo que o cliente já consiga utilizar esses módulos e já possa solicitar manutenções ou adaptações aos mesmos, quando necessário.
Portanto, na minha opinião, fábrica de software já não tem nada a ver com fábricas industriais. O que se tem em comum são apenas algumas semelhanças nas metodologias, porém totalmente adaptadas na prática de acordo com a demanda e o tamanho da equipe da softwarehouse.
Definitivamente, copiar uma linha de produção de uma indústria não dá certo para a produção de uma sotwarehouse.

Horse
3

NO artigo, parece muito bonito, mas na prática, a aplicação do conceito de “fábrica” à produção de sofgtware é uma tentativa da indústria de diminuir a importância do desenvolvedor no processo e, assim, diminuir custos pagando salários menores. Mas como disse, é apenas uma tentativa. E frustrada.
O que eles diminuíram em salários, acabam pagando em horas extras, processos, alta rotatividade de profissionais, projetos precários e mal construídos, documentação desnecessária, atrasos, custos extras… A conta é bem grande!
AS grandes consultorias pintam um quadro lindo, ao falr de seus processos, mas o que vemos na realidade é clientes insatisfeitos, softwares que não fazem o que deveriam fazer, funcionalidades inúteis vendidas sem a menor análise e profissionais altamente estressados.
Sinceramente, quando vejo uma empresa dizendo que quer contratar uma fábrica de software, tenho pena. As fábricas se vangloriam de um processo bem definiso, mas poucos são os projetos bem sucedidos.
Os administradores de tais fábricas ganham dinheiro? Sim. E muito. Isso é sucesso pra eles? Com certeza. É sucesso para os desenvolvedores, que são submetidos a jornadas extenuantes, a pressão por resultados absurdos, prazos ridículos, baixos salários e contratos draconianos? Definitivamente não.
Se os clientes de tais “fábricas” soubessem o quanto são roubados e enganados, jamais as contratariam.

DANIEL RODRIGUES DO AMARAL
4

Calma la Horse. Voce radicalizou sua opiniao. Eu fico entre o Sergio e o Horse. Acredito que as Software Factories sao uma tendencia de mercado e nada vai mudar isso. Concordo que tudo comecou com os metodos de linha de producao industrial mas isso evoluiu muito quando se trata de software. hoje temos metodologias Ageis (como o citado SCRUM) que sao a evolucao do tradicional metodo de producao em “cascata” ou Waterfall. As equipes de desenvolvimento entenderam que o processo Agil traz uma comunicacao mais efetiva e agil para a equipe e sua forma de entrega em pacotes beneficia o cliente.
O mercado evolui conforme o cliente exige pessoal. E quem manda nas tendencias sao os clientes. A tendencia de fabricas de software vao evoluir ainda mais, com o avanco do Cloud Computer, que e’ um outro conceito que estimula a adocao de fabricas de software.
Bom, esta e’ minha humilde opiniao! Abracos!

Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!