Seminário de Engenharia de Software
Fábricas de Software
Conceitos, Organizações, Exemplos
César França & Eduardo Oliveira
18/Maio/2005
Parte I
Conceitos
•
“Fábrica de Software”: Utilizado pela primeira vez no Japão em 1969
Várias Empresas associam o termo
Fábricas de Software
Ao mero desenvolvimento de Software
Fábricas de Software ?
~ 60/70: Ambiente
Incerteza no desenvolvimento de projetos de SW
•
•
•
•
•
Confiabilidade
Manutenção
Falta de definição dos processos de produção
Falta de padronização de métodos e ferramentas
Falta de Ferramentas de especificação
Fábricas de Software ?
~ 60/70: Ambiente
System Development Corporation (EUA)
Hitachi Software (JPN)
– Manuais de Produção
~ 70 (Final)
Toshiba
– Soluções Fabris para produção de Software
O Processo Fabril
“Construirei um carro para as grandes massas, feito
com os melhores materiais, pelos melhores homens
que puderem ser contratados e seguindo os projetos
mais simples que a moderna engenharia pode
conceber [...] de preço tão baixo que qualquer
homem que ganhe um bom salário seja capaz de
possuir – e desfrutar com sua família a bênção das
horas de prazer nos grandes espaços abertos da
natureza”
Henry Ford,1899
O Processo Fabril
•
Revolução Industrial (Séc XIV)
Pessoas  Máquinas
1. Especialização Pessoal
2. Planejamento de Processos
3. Controle da Produtividade
Taylorismo
Frederick Winslow Taylor (1856 - 1915)
O Processo Fabril
• Produção em Massa (larga escala)
• Tarefas simples e padronizadas
• Trabalhadores especializados, mas com
poucas habilidades
• Divisão de trabalho
• Mecanização e automação de processos
• Controle da Qualidade
O Processo Fabril
Fordismo:
• Padronização de Produtos
• Domínio sobre toda a cadeia produtiva vertical
1950 ~ 1960
Surgimento das primeiras Fábricas de Software
O Processo Fabril
Toshiba
1. Padronizar processos de desenvolvimento de SW
2. Reuso exaustivo de programas
3. Ferramentas de mensuração de desempenho
pessoal
4. Treinamento das pessoas
Conceitos
~1980
“A Fábrica de Software é uma unidade de produção de programas
que aplica os conceitos de industrialização nas atividades e nos
componentes do ciclo de programação, em larga escala.”
“O objetivo de uma fábrica de software é minimizar custo e
maximizar a funcionalidade e a qualidade do produto que está
sendo desenvolvido.”
Fábrica de Software
• Como minimizar o custo?
– Padronização de processos
– Componentização do software
– Divisão do trabalho
• Como aumentar a qualidade?
– Definição dos requisitos do cliente
– Estimativas de custos e prazos baseado em histórico
– Controle rigoroso dos recursos envolvidos
Fábrica de Software
Fernandes (2004)
“Um processo estruturado, controlado e melhorado de
forma contínua, considerando abordagens de
engenharia industrial, orientado para o atendimento a
múltiplas demandas de natureza e escopo distintas,
visando à geração de produtos de software,
conforme os requerimentos documentados dos
usuários e/ou clientes, da forma mais produtiva e
econômica possível”
Fábrica de Software
Fernandes (2004)
•
•
•
•
•
Processo Estruturado
Controle de Produção
Requerimentos Documentados (Qualidade)
Produtividade + Economia
Produção de Software
Fábrica de Software
• Pilares de Sustentação
Método
Experiência
Equipe
Componentes
Vantagens
• Gerenciamento facilitado
– Divisão do trabalho
– Padronização dos processos
– Medições sistemáticas dos resultados;
• Possibilidade de terceirização de etapas
– Especificações padronizadas,
– Especialistas que falam a “mesma língua”;
Vantagens
• ISO/IEC 12207 / CMMI
– Normas, procedimentos, métodos, ferramentas e
ambientes de desenvolvimento de software
– Gerência e engenharia de software
– Integração de produtos e serviços;
Vantagens
• Adequação contínua da infra-estrutura de
apoio
– Hardware e software
• Criação de objetos reutilizáveis
– Programação OO
– Redução de tempo e custo
Parte II
Organização
Fábricas de Software
Classificação
(Escopo de atuação no desenvolvimento do SW)
•
•
•
•
Fábrica de Projetos
Fábrica de Projetos Físicos
Fábrica de Programas
Fábrica de Componentes
Tipos de Fábrica
Escopo de atuação no desenvolvimento do SW
Implementando uma Fábrica
Implantação gradativa do conceito de fábrica
1. Seleção do modelo e adequação à
realidade da Organização
2. Configuração do conjunto de ferramentas
3. Detalhamento do processo fabril
Implementando uma Fábrica
• Seleção do modelo e adequação à realidade
da Organização
Clientes/Entradas
Fornecedores/Insumos
Fábrica de
Programas
Produtos
Implementando uma Fábrica
• Configuração do conjunto de ferramentas
–
–
–
–
–
–
–
–
–
Gerenciamento de Projetos
Gerenciamento de Processos
Análise (Modelagem)
IDEs e Tecnologia de Desenvolvimento
Gerência de Configuração
Gerenciamento de Banco de Dados
Metrificação dos Softwares
Comunicação
...
Implementando uma Fábrica
• Detalhamento do processo fabril
Analisar
Projetar
Implementar
Testar
Implantar
Revisar
Armazenar
Distribuir
Parte III
Fábricas de Software
Brasil x Mundo
Fábrica de Software: Brasil x Mundo
• Fábricas de Software no mundo:
“O sucesso das Fábricas de Software do Japão, dos
Estados Unidos, se deve a inclusão de um alto
grau de reusabilidade de código, aumento da
qualidade e da flexibilidade operacional”.
[Cusumano 1991]
Fábrica de Software: Brasil x Mundo
• Índia:
– Na década de 80 o processo de desenvolvimento interno de
software substituiu a estratégia de importação.
– Implantou a teoria da ISI (Índia Software Industry):
•
•
•
•
Altas tarifas na importação de software estrangeiro;
Controle em cima de investimento estrangeiro direto;
Exportação subsidiada, e;
Controle rígido nas licenças de importação.
Fábrica de Software: Brasil x Mundo
• Índia:
– Exportação de software: US$ 8 bilhões de dólares
– Mão-de-obra abundante, barata e bem treinada
– Mais de 50 empresas detentoras do certificado
CMMI nos níveis quatro e cinco (o mais alto).
– Meta: Exportação de $50 bilhões em software
somente para o EUA em 2008
Fábrica de Software: Brasil x Mundo
• Brasil:
– “Fábrica de software" cresce a olhos vistos no
País
– Alvo de investimentos de centenas de
consultorias, integradores e software houses
– Exportação de software: US$ 100 milhões de
dólares
– Baixo índice de empresas certificadas (~ 30
empresas CMMI)
Fábrica de Software: Brasil x Mundo
• Brasil (Razões para o crescimento das fábricas de software)
– Desvalorização cambial. Nos EUA o custo de
hora/homem é de US$ 60; aqui é um terço deste
valor. O Brasil se tornou uma opção interessante
para exportação de programação.
– Muitos trabalhos de fábrica de software são
decorrência de revisão de processos ou projetos
de integração.
Fábrica de Software: Brasil x Mundo
• Brasil (Razões para o crescimento das fábricas de software)
– Arquitetura dos sistemas muito fragmentada em camadas, o
que torna possível desenvolver partes desses fragmentos
com diferentes pessoas que nem sabem ao certo como o
produto final será.
– Crescimento das chamadas fábricas lógicas, que fazem
análise de sistemas. Esse tipo de procedimento envolve
maior conhecimento de negócios do que apenas a fábrica
de software, que é programação pura. O Brasil tem
excelente nível de conhecimento em análises de sistemas,
sobretudo para o setor financeiro.
Fábrica de Software: Brasil x Mundo
• Brasil (Razões para o crescimento das fábricas de software)
– Tendência de concentração das empresas em suas
atividades principais, o que faz crescer a transferência de
atividades não ligadas diretamente ao negócio principal para
parceiros (terceirização).
Fábrica de Software: Brasil x Mundo
• Brasil (números)
– Politec - Cresceu 30% ao ano nos últimos seis anos.
– Resource Informática - Cresceu 25% em 2002 em relação ao ano
anterior.
– SI - Crescimento de 15% em 2002 e previsão de crescer 25% a
30% este ano.
– Stefanini - Crescimento de 50% ao ano ao longo dos últimos seis
anos.
– AML - Cresceu 162% em 2002. Para 2003 a meta é crescer 100%.
Fábricas de Software no Brasil
Relatório do MCT (2001)
•
•
•
•
•
Ferramentas de automação:
Processo formal documentado:
Certificado ISO :
Avaliação CMM:
Uso de gerência da configuração:
30%
30%
29%
02%
10%
Fábrica de Software: Brasil x Mundo
• Situação Brasileira (2002)
Softex,.2002
Exemplos
• Stefanini
–
–
–
–
–
–
Fundada em 1987
+ 3mil colaboradores em vários países
CMMI nível2
ISO 9001
Mais de 820 clientes, cerca de 350 ativos
9 fábricas de software
http://www.stefanini.com.br
Exemplos
• Stefanini (Estrutura Organizacional)
http://www.stefanini.com.br
Exemplos
• Politec
–
–
–
–
–
–
35 anos
Fábrica de Software: 1997
CMMI nível3
11 fábricas no Brasil
6mil funcionários
Tipos de Fábricas:
• Fábrica de Projetos
• Fábrica de Software
http://www.politec.com.br
Exemplos
• Politec
http://www.politec.com.br
Exemplos
• CPM
– empresa especializada em consultoria, outsourcing e
integração independente de TI
– uma das pioneiras do setor no Brasil (Fundada em 1982)
– faturou R$ 525 milhões em 2003
– cerca de 140 clientes entre as 500 maiores empresas
atuantes no Brasil.
– possui mais de dois mil profissionais e tem operações nos
Estados Unidos e Argentina
– Montou sua 6a. fábrica de software em São José dos
Campos em 2003
http://www.cpm.com.br
Exemplos
• EDS
– Indústria de TI :: U$ 20 bilhões
– 2004: Lucro líquido de 4 milhões de dólares
– Presente: Estados Unidos, Japão, Alemanha,
China, Índia, Brasil...
– EDS Brasil em 1985
– Selecionou o Brasil como um de seus centros
mundiais de programação
– Crescimento anual: entre 20% e 30%
http://www.eds.com
Exemplos
• EDS
– 6mil funcionários
– Escritórios: São Paulo, Rio de Janeiro, São
Caetano do Sul, São Bernardo do Campo, Barueri,
Florianópolis, Salvador, Vitória
– Dois Data Centers:
• São Bernardo do Campo e Alphaville
– CMMI nível 4
http://www.eds.com
Exemplos
• C.E.S.A.R.:
– Faturamento de R$ 29 milhões
– 300 funcionários
– Mais de 50 clientes (Banco Central, Hipercard, Multibrás e a Embraer)
– Primeira fábrica de software do Norte-Nordeste
– CMMI nível 2
http://www.cesar.org.br
Parte IV
Conclusões
Conclusão
• Processos Fabris
• Alta especialização dos profissionais
• Componentização de Software
Experiência Organizacional
Satisfação do Cliente
Utopia ?
Replicaremos softwares para as “grandes massas
empresariais”, feito com os melhores
componentes e seguindo projetos mais simples
que a moderna engenharia de software possa
conceber. O preço do software deve ser baixo
que qualquer empresa que tenha um rendimento
condizente com a realidade possa crescer
utilizando um software que supra as suas
necessidades e esteja alinhado com a sua
estratégia.
Conclusão
• Futuro não muito distante o Brasil seja
conhecido, além do samba e do futebol, pela
qualidade do software e dos sistemas que
desenvolve.
Referências
• Softex – http://www.softex.com.br
• MCT – http://www.mct.gov.br
• Greenfield, Jack - Moving to Software Factories, Microsoft
Corporation
• Grupoware e Fábrica de Software
• Fabri, José - Desenvolvimento e Replicação de uma Fábrica de
Software
• Costa, Ivani - Pesquisa em Fábrica de Software para Proposta
de uma Fábrica Padrão Brasil
• Brito, Regiane - Uma Experiência na Implantação de Processo
em uma fábrica de Software Livre
• Padron, Alberto - Un Modelo de Negocio certificable basado en
Estructura y Capacidades
Agradecimentos
Obrigado!!!
Perguntas
Download

Fabricas de Software - Centro de Informática da UFPE