51
Fábricas de Software Conceitos, Organizações, Exemplos Seminário de Engenharia de Software César França & Eduardo Oliveira 18/Maio/2005

Fábricas de Software

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Fábricas de Software

Fábricas de SoftwareConceitos, Organizações, Exemplos

Seminário de Engenharia de Software

César França & Eduardo Oliveira

18/Maio/2005

Page 2: Fábricas de Software

Parte I

Conceitos

Page 3: Fábricas de Software

• “Fábrica de Software”: Utilizado pela primeira vez no Japão em 1969

Várias Empresas associam o termo

Fábricas de SoftwareAo mero desenvolvimento de Software

Page 4: Fábricas de Software

Fábricas de Software ?

~ 60/70: AmbienteIncerteza 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

Page 5: Fábricas de Software

Fábricas de Software ?

~ 60/70: AmbienteSystem Development Corporation

(EUA)Hitachi Software (JPN)

– Manuais de Produção

~ 70 (Final)Toshiba

– Soluções Fabris para produção de Software

Page 6: Fábricas 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

Page 7: Fábricas de Software

O Processo Fabril

• Revolução Industrial (Séc XIV)

Pessoas Máquinas

1. Especialização Pessoal2. Planejamento de Processos3. Controle da Produtividade

TaylorismoFrederick Winslow Taylor (1856 - 1915)

Page 8: Fábricas de Software

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

Page 9: Fábricas de Software

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

Page 10: Fábricas de Software

O Processo Fabril

Toshiba

1. Padronizar processos de desenvolvimento de SW

2. Reuso exaustivo de programas3. Ferramentas de mensuração de

desempenho pessoal4. Treinamento das pessoas

Page 11: Fábricas de Software

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.”

Page 12: Fábricas de Software

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

Page 13: Fábricas de Software

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”

Page 14: Fábricas de Software

Fábrica de SoftwareFernandes (2004)

• Processo Estruturado • Controle de Produção • Requerimentos Documentados

(Qualidade)• Produtividade + Economia• Produção de Software

Page 15: Fábricas de Software

Fábrica de Software

• Pilares de Sustentação

Equipe

Método

Componentes

Experiência

Page 16: Fábricas de Software

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”;

Page 17: Fábricas de Software

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;

Page 18: Fábricas de Software

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

Page 19: Fábricas de Software

Parte II

Organização

Page 20: Fábricas de Software

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

Page 21: Fábricas de Software

Tipos de Fábrica

Escopo de atuação no desenvolvimento do SW

Page 22: Fábricas de Software

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

Page 23: Fábricas de Software

Implementando uma Fábrica

• Seleção do modelo e adequação à realidade da Organização

Fábrica de Programas

Clientes/Entradas

Fornecedores/InsumosProdutos

Page 24: Fábricas de Software

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– ...

Page 25: Fábricas de Software

Implementando uma Fábrica

• Detalhamento do processo fabril

AnalisarProjetar

ImplementarTestar

ImplantarRevisar

ArmazenarDistribuir

Page 26: Fábricas de Software

Parte III

Fábricas de SoftwareBrasil x Mundo

Page 27: Fábricas de Software

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]

Page 28: Fábricas de Software

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.

Page 29: Fábricas de Software

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

Page 30: Fábricas de Software

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)

Page 31: Fábricas de Software

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.

Page 32: Fábricas de Software

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.

Page 33: Fábricas de Software

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).

Page 34: Fábricas de Software

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%.

Page 35: Fábricas de Software

Fábricas de Software no BrasilRelatório do MCT (2001)

• Ferramentas de automação: 30%• Processo formal documentado: 30%• Certificado ISO : 29%• Avaliação CMM: 02%• Uso de gerência da configuração: 10%

Page 36: Fábricas de Software

Fábrica de Software: Brasil x Mundo• Situação Brasileira (2002)

Softex,.2002

Page 37: Fábricas de Software

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

Page 38: Fábricas de Software

Exemplos• Stefanini (Estrutura Organizacional)

http://www.stefanini.com.br

Page 39: Fábricas de Software

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

Page 40: Fábricas de Software

Exemplos• Politec

http://www.politec.com.br

Page 41: Fábricas de Software

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

Page 42: Fábricas de Software

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

Page 43: Fábricas de Software

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

Page 44: Fábricas de Software

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

         

Page 45: Fábricas de Software

Parte IV

Conclusões

Page 46: Fábricas de Software

Conclusão

• Processos Fabris• Alta especialização dos profissionais• Componentização de Software

Experiência OrganizacionalSatisfação do Cliente

Page 47: Fábricas de Software

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.

Page 48: Fábricas de Software

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.

Page 49: Fábricas de Software

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

Page 50: Fábricas de Software

Agradecimentos

Obrigado!!!

Page 51: Fábricas de Software

Perguntas

?