Fábrica de Sofware  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
andre2k2
JavaGuru

Membro desde: 27/03/2007 14:54:31
Mensagens: 298
Offline

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?
sergiotaborda
Forum Spammer
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3201
Offline

andre2k2 wrote: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?


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.



Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
cmoscoso
Virtual Machine Man

Membro desde: 23/10/2007 10:08:29
Mensagens: 684
Offline

Eu ainda nao estou convencido de que TODO desenvolvimento de sw se encaixa nesse modelo software-como-servico. É verdade que o ideal de projeto da maioria das fabricas de sw que conhecemos e daquelas que nao tivemos oportunidade de conhecer pq nao sobreviveram é equivocado. E superficialmente falando, baseado nas ofertas de emprego publicas em listas de java nao creio que a situacao esteja mudando.

Nesse sentido de construcao de produtos de software um grande exemplo de fabrica de sw é a fundacao apache.

This message was edited 1 time. Last update was at 03/07/2008 15:56:28


http://twitter.com/cmoscoso
[Email]
André Fonseca
Forum Spammer
[Avatar]

Membro desde: 23/02/2007 15:52:55
Mensagens: 1524
Offline

Luiz Aguiar wrote:não entra na minha cabeça porque as empresas se submetem a isso ainda... será que os "clientes" são tão burros assim? décadas de projetos errados e prejuízos financeiros não ensinou nada à ninguém?


Luiz, enquanto no Brasil for comum as pessoas levarem um por fora esse tipo de prática vai ser comum, se é que você me entende, acontece a mesma coisa na política, na administração pública, etc..

This message was edited 1 time. Last update was at 04/07/2008 10:54:20


Você é novo no GUJ?


Como fazer perguntas?
sergiotaborda
Forum Spammer
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3201
Offline

cmoscoso wrote:
Nesse sentido de construcao de produtos de software um grande exemplo de fabrica de sw é a fundacao apache.


ótimo exemplo. A fundação apache ( ou a fundação eclipse já agora) é uma fabrica de software ? Eu diria que sim. Mas gostaria de saber o que acha quem diz que "fabrica de software" non ecsisté ou não deveria existir...

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
Bruno Laturner
Forum Spammer
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 2717
Localização: Cuiabá, MT
Offline

A Apache é uma comunidade de desenvolvedores que produzem software de forma colaborativa nos termos da Apache License.

Os projetos dela não nascem pela demanda de um cliente, e sim de uma necessidade coletiva do mundo.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW] [MSN]
Leonardo3001
Virtual Machine Man

Membro desde: 04/07/2007 18:28:58
Mensagens: 824
Offline

Mais lenha na fogueira!

Às vezes, tenho a impressão de que o pessoal culpa as consutorias de três letrinhas ao mesmo tempo em que coloca o cliente como vítima. Será que é isso mesmo? Eu vejo podridão nos dois lados. Tanto o cliente quanto a consultoria são culpados nessa história.

Exemplo: normalmente, o cliente, de cara, não tem uma TI organizada, que é vista mais como um sangue-suga de dinheiro, reativa, e que não busca inovações. Com isso, o cliente, pra resolver seu problema, ao invés de arrumar a casa, vai lá e terceiriza pra uma consultoria. E com isso, a TI do cliente, ainda sem foco e sem gente qualificada que entenda de software, vai simplesmente pedir pra qualquer consultoria que um projetão deve ser feito em X meses e deve ser o mais barato possível.

E aí? A consultoria atrasou a entrega? Sem problemas! Pega o dinheiro da multa contratual e paga uma outra consultoria barateira que faça o serviço. A consultoria não entregou com qualidade? Mas quem se importa? Não é a consultoria que vai perder com isso, muito menos a TI do cliente, que sempre vai colocar a culpa nas terceirizadas. A TI não compra softwares de terceiros, compra bodes expiatórios.

Mas não sou louco, a fábrica de software é um erro! Mas qual é a responsabilidade de quem os contrata? Será que os clientes são tão vítimas assim?

Leonardo Veríssimo
-------------------------------------------------
Objectzilla
[WWW]
Bruno Laturner
Forum Spammer
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 2717
Localização: Cuiabá, MT
Offline

Leonardo3001 wrote:Mas não sou louco, a fábrica de software é um erro! Mas qual é a responsabilidade de quem os contrata? Será que os clientes são tão vítimas assim?


Acho que são sim. Eles simplesmente não sabem a diferença. Pergunta para eles o que o cara de TI faz.

No caso de empresas estatais, mesmo que tenham um setor de TI p/ atende-las, elas não contratam consultorias diretamente, são as consultorias que ganham licitações, isto é, leva quem oferecer o menor preço(dizem...). E tem o menor preço que oferece os serviços de pior qualidade.

This message was edited 1 time. Last update was at 03/07/2008 19:42:52


A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW] [MSN]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5169
Localização: Sydney - Australia
Offline

andre2k2 wrote: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?


http://fragmental.tw/2008/02/17/architecture-is-about-people-sharing-models/

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
marcosalex
Forum Spammer
[Avatar]

Membro desde: 20/02/2008 12:32:59
Mensagens: 1802
Offline

"

This message was edited 1 time. Last update was at 23/12/2008 15:46:34

[Yahoo!] aim icon [ICQ]
Adriano Almeida
JavaEvangelist

Membro desde: 13/09/2006 15:29:34
Mensagens: 322
Offline

marcosalex wrote:uma fábrica de software ajuda muito a reduzir despesas porque manter uma equipe de TI para desenvolver software de forma ágil não é uma coisa barata.


Manter uma equipe desenvolvendo em waterfall (mas falando que é rup) tem grandes chances de sair mais caro.

Mas enfim, quais são os aumentos de custos que há no caso de manter uma equipe trabalhando com metodologias agéis? Nem licença de MSProject vc precisa.

http://ahalmeida.com
http://blog.caelum.com.br

marcosalex
Forum Spammer
[Avatar]

Membro desde: 20/02/2008 12:32:59
Mensagens: 1802
Offline

"

This message was edited 1 time. Last update was at 23/12/2008 15:47:01

[Yahoo!] aim icon [ICQ]
Adriano Almeida
JavaEvangelist

Membro desde: 13/09/2006 15:29:34
Mensagens: 322
Offline

marcosalex wrote:Montar uma equipe ágil, treinada e com uma metodologia boa para desenvolver, testar e controlar o software toma tempo e dinheiro. Sem falar que o foco da empresa estaria se desviando da sua atividade fim.

Discordo. Quando a Toyota, por exemplo, adotou um modelo ágil ela não desviou o foco da sua atividade fim. Uma coisa não exclui a outra, e nem deve!

http://ahalmeida.com
http://blog.caelum.com.br

kruger
Thread.start()

Membro desde: 03/10/2007 18:41:36
Mensagens: 26
Offline

Mas se souber fazer a coisa certa, uma fábrica de software ajuda muito a reduzir despesas porque manter uma equipe de TI para desenvolver software de forma ágil não é uma coisa barata.


Reduzir custos de quem ?! Do cliente ?! Da fábrica ?!
Tudo o que eu já vi em fábricas de SW é custo pra ambos os lados...

Encargos trabalhistas, por exemplo. Montar uma equipe ágil, treinada e com uma metodologia boa para desenvolver, testar e controlar o software toma tempo e dinheiro. Sem falar que o foco da empresa estaria se desviando da sua atividade fim.


E numa fábrica de SW voce não teria esses mesmos custos ?

Mesmo com as melhores das intenções e com um "processo bem conduzido",
a maioria das fábricas de SW precisam de tanta papelada e CMMs da vida,
que esquecem do fundamental, software funcionando com qualidade.

Eduardo Kruger
http://coding4food.com

"There is no CODE that is more flexible than NO code." - Brad Appleton
[Email] [WWW]
marcosalex
Forum Spammer
[Avatar]

Membro desde: 20/02/2008 12:32:59
Mensagens: 1802
Offline

"

This message was edited 1 time. Last update was at 23/12/2008 15:47:15

[Yahoo!] aim icon [ICQ]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team