[quote=andre2k2]Pessoal, vou meter o bedelho na discussão também introduzindo uma pergunta: vocês afinal acham então que o conceito de fabrica de software é algo não-aplicável no desenvolvimento de um software?
Eu nunca trabalhei em uma fabrica de SW ou d qq outra coisa mas minha opinião é a seguinte:
Cada vez mais eu acho que um software deve ser desenvolvido por pequenas equipes de no maximo 7 pessoas. Acho que equipes de 5 pessoas sao ideais. Mas dependendo do tamanho sistema, se for mto grande, axo que dividir em partes e formar pequenas equipes pra cada módulo é uma boa prática… é claro utilizando como argamassa uma arquitetura bem definida para colar todos as partes no final! É possivel? Ou apenas utopia? Se eu fosse gerente de um grande projeto axo q eu tentaria esse tipo de abordagem!!! oq vcs acham?[/quote]
O que você pensa não está errado, o problema, como foi falado é que os manda-chuva não pensam.
Eles acham que aumentar o tamanho da equipe faz as cosias andar mais depressa: mentira. Faz andar mais devagar.
Mais pessoas significa mais comunicação, mais controle. Isso significa menos tempo codificando. Aqui entre o Pair Programming onde a rotatividade dos pares aumenta a comunicação e o controle sem sacrificar o tempo de codificação.
Quem paga não entende o que compra. Isso faz com que se pense que terceirizar e pagar N dezenas milhares é melhor que ter uma equipa interna pagando N milhares. Mas isso acontece porque eles não estão comprando o software. Eles estão comprando a responsabilidade. Se o software der problema eles executam a empresa que o fez.
Um lugar onde de faz algo é uma fábrica. O termo Fábrica de Software não deve ser prejurativo, porque as pessoas não sabem outro nome da "empresa que produz software"
Acontece que o erro é esse: o que a empresa produz não é o software. produzir software não significa criar um bem, significa criar um serviço. Criar um software é como treinar pessoas, ninguém fala em “fabrica de pessoas treinadas”.
É o foco que está errado. E com ele toda a nomenclatura e confusão que se cria dai.
Mas, sim, criar um software passa por criar uma “coisa”, mas essa “coisa” é apenas uma ferramenta. Imagine-se no circo. No Canhão Humano as pessoas pagam pelo quê ? por ver um canhão disparar ? Não, por assistir a coragem do cara lá dentro.
Ninguém paga para ver a qualidade das cartas do ilusionista, paga para ser maravilhado pelo que ele faz com elas.
E quem cria esses engenhos ? Alguem cria, tem uma engenharia , um saber, uma tecnologia associada. Existem fábricas onde se fabricam essas coisas.
Construção de software é mais ou menos como isso. Alguem cria o software, mas não é isso que se está vendendo. Ou pelo menos não deveria ser. Quando se fala de equipe, scrum, XP, java, .net , etc… estamos no nivel do cara que fabrica as cartas que os ilusionistas usam. Software é muitos mais que isso.