510 likes | 646 Views
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
E N D
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 • Especialização Pessoal • Planejamento de Processos • 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 • Padronizar processos de desenvolvimento de SW • Reuso exaustivo de programas • Ferramentas de mensuração de desempenho pessoal • 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 Componentes Equipe
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 • Seleção do modelo e adequação à realidade da Organização • Configuração do conjunto de ferramentas • 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 SoftwareBrasil 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 fragmentoscom 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: 30% • Processo formal documentado: 30% • Certificado ISO : 29% • Avaliação CMM: 02% • Uso de gerência da configuração: 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!!!