1 / 83

Fábricas de Software

Fábricas de Software. Prof. Jones Albuquerque. ROTEIRO. Conceitos, idéias e mitos Processos e Casos de sucesso e falha Oficina de Montagem de Fábricas Venda de Software. communications. applications. services. infrastructure. communications. software. applications. applications.

ankti
Télécharger la présentation

Fábricas de Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fábricas de Software Prof. Jones Albuquerque

  2. ROTEIRO • Conceitos, idéias e mitos • Processos e Casos de sucesso e falha • Oficina de Montagem de Fábricas • Venda de Software

  3. communications applications services infrastructure

  4. communications software applications applications services middleware infrastructure hardware + op sys [zysman stack]

  5. BUSINESSPROCESSES communications applications applications software services computing +communications infrastructure

  6. seu negócio éumacomunidade! Silvio Meira

  7. http://headrush.typepad.com/creating_passionate_users/2007/03/user_community_.htmlhttp://headrush.typepad.com/creating_passionate_users/2007/03/user_community_.html

  8. comunidade desenvolve [novos] produtos e serviços

  9. desenvolvimento de software em indústria, comunidades acadêmicas e científicasuma fábrica de software? Uma comunidade de software...

  10. um típico laboratório de desenvolvimento...

  11. Produção de Software: histórico • 60´s Fábrica de Software • 70´s Kanbam • 70´s Just In Time • 80´s SIGMA • 90´s CMM • 00´s Fábrica de Software... de novo! • 10´s Fábrica de Componentes? • COMUNIDADES? • Open-Source? • Distribuída? Fonte: sixsigmatutorial.com

  12. factories X Business X OSS development... • conjunções e intersecções • métodos e ferramentas • processo • modelos • licenças • vendas

  13. Free Software Projects • Nascem como iniciativa isolada e particular • Usuários são co-desenvolvedores • Divulgação “boca-a-boca” • Teste massificado pelos usuários • Gerência de versões é complexa e “bem-definida”

  14. SW livre e a monark? No Natal de 1964, a bicicleta Monark na sala, em Arcoverde, não era mais nem tanta surpresa assim. Eu tinha infernizado a vida de Seu Inácio meses a fio e ele, para se livrar da perseguição, talvez fosse capaz de me comprar um Sherman M4, daqueles que o exército brasileiro usou até o fim dos anos 70. O fato é que lá estava a bike de gente grande, muito diferente daquela de "minino" que eu tinha até a véspera, agora herança de meus irmãos. Depois de desfilar meu novo status para a vizinhança, as próximas providências foram tirar o bagageiro e instalar uns retrovisores... muito mais pra eu me ver pedalando do que para vigiar o tráfego. E, como fevereiro vinha por ali, fazer uma sirene, com barbante, borracha de câmara de ar e uma lata de óleo Salada, pra zoar no carnaval. Minha bicicleta, minhas modificações, meus adicionais, a Monark nunca teve uma satisfação, nem nunca me cobrou. http://www.no.com.br/revista/noticia/54475/atual

  15. Open Source Projects • (Sun apr 22 20:18:32 BRT 2007)  189,827 projects! • Communications (18979) • Database (7090) • Desktop Environment (3843) • Education (5076) • Formats and Protocols (3014) • Games/Entertainment (17723) • Internet (29002) • Multimedia (15900) • Office/Business (9960) • Other/Nonlisted Topic (2620) • Printing (526) • Religion and Philosophy (341) • Scientific/Engineering (15436) • Security (3350) • Sociology (442) • Software Development (29007) • System (23545) • Text Editors (3275) 231,649 projects nov 29 BRT 2007! 268,668 projects apr 24 BRT 2008! 273,633 projects mai 15 BRT 2008! http://sourceforge.net/

  16. sourceforge.net • 2005 jun 100K • 2006 apr 134K • 2007 apr 189K • 2008 apr 269K 273,633 projects mai 15 BRT 2008!!!

  17. fábricas de softwareprincípiosconceitosilusões Fonte: www.cs.ucla.edu

  18. fábrica de software na prática • Operação profissional • Processo de desenvolvimento transparente • Retorno rápido ao cliente • Alta produtividade • Ferramentas e processos padronizados • Alta qualidade • Dados históricos, previsibilidade e análise de risco • Reusabilidade de código [1968 G&E, R. W. Berner] [2003 IEEE Computer Vol.36 Num.3, B. Boehm] [2005 IEEE Software Vol. 22 Num 2, PostModern SW Design]

  19. e o mercado? • http://mshiltonj.com/software_wars/

  20. Cathedral and Bazaar e Desenvolvimento de Software segundo Eric Raymond, 1997 • Alguns projetos são como Cathedrals • altamente centralizados em poucas pessoas que decidem projeto e implementação • para fazer parte deve-se aceitar as definições • Fonte: http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/

  21. Outros são como Bazaars (SW livre) Sem planejamento detalhado mas orientados! • Linux Kernel (www.linux.org): “hierarchical” • Linus Torvalds, “The Benevolent Dictator” • APACHE Foundation (www.apache.org): “meritocracy” • Para fazer parte você deve ter colaborado continuamente em projetos da fundação • GCC (gcc.gnu.org): “steering Commitee”

  22. Conceitos “The factory is an organization inhabited by people engaged in a common effort, work is organized one way or the other, standardization is used for coordination and formalization, and systematization is important, but there will be several options for the design of a particular software factory” [Aaen, Botcher, Mathiassen, Software Factories, 1997] http://www.cs.auc.dk/~larsm/Dr_Techn/Volume_II/17.pdf

  23. fábricas de software: 4 estratégias... • Japonesa (1981,1987) • SWB – Software Work Bench • Européia (1991,1992) • ISDE – Integrated Software Development Environment • Norte-Americana • experiência produção (1989,1993) • Norte-Americana • níveis de maturidade (1990,1993)

  24. ...considerações... “The four approaches are important contributions towards this goal. At the same time the approaches individually may lead to unfortunate illusions. Learning from the relative strengths and weaknesses between the approaches may help us avoid becoming victims of these illusions” [Aaen, Botcher, Mathiassen, Software Factories, 1997] http://www.cs.auc.dk/~larsm/Dr_Techn/Volume_II/17.pdf

  25. ...e ilusões... fábrica de software≠produção em massa padronização, formalização, especialização, controle ≠ produção de software com qualidade o que fazer? Fonte: www.icb.ufmg.br

  26. Discussion ...  open source communities versus Software Factories • personal time and autonomy ...  freelancers ...  project-oriented • ... there are several avenues for future research • ... to refine the proposed framework and validate it empirically

  27. e as comunidades híbridas? A Framework for creating hybrid-open source software communities Srinarayan Sharma et. al. Info Systems (2002), 12. FONTE: http://www.blackwell-synergy.com/doi/pdf/10.1046/j.1365-2575.2002.00116.x

  28. Introdução • “OSS model is a fundamentally new and revolutionary way to develop software” • “organizations are having difficulty building a business model around the open source paradigm” • “not all OSS initiatives have been successful” • “a Framework for creating • Hybrid-OSS communities!!!”

  29. o modelo de OSS - Open-Source Software • Três dimensões • Estrutura, processo e cultura Division of labour Co-ordination mechanisms Distribution od decision-making Organizational boundaries Informal structure Political structure Legitimate basis of authority Eletronic communication Multicultural community Values: reciprocity, gift giving, reputation, ideology Core assumptions structure culture process Fonte: Info Systems (2002), 12.

  30. o que “sabemos” aqui? • TODO o pressman ou sommerville (Software Engineering) • ou seja: • requisitos, especificações, refinamento, validação e verificação, métodos, técnicas, linguagens e ferramentas, componentes, reutilização, manutenção, modelagem de processos, qualidade, reengenharia,, verificação, validação e teste... além de programação JAVA++!... • {faltaria o quê?}

  31. ROTEIRO • Conceitos, idéias e mitos • Processos e Casos de sucesso e falha • Oficina de Montagem de Fábricas • Venda de Software

  32. building a software factory...[Making the software factory work... 1990-1999] • to define a detailed software development process • staff members were given extensive training in the new process • process specification separated from process execution • data collection and analysis • interviews • software process assesments • process attributes for each project • configuration management system • project tracking data http://ieeexplore.ieee.org/iel5/7313/19776/00915539.pdf

  33. Lições aprendidas • “separating function of process engineer from developer” • “job rotation between process engineering and product development” Fonte: www.everest2006.com.br

  34. Framework para construção de fábricas de software uma proposta • ... processo x equipe • ... requisitos x arquitetura • ... métricas x incerteza • ... ferramentas x processo • ... Comunidade x produto • ... ?? Precisamos de um processo para definição de atividades, ferramentas, técnicas, artefatos...

  35. Objetivos Entradas Saídas ATIVIDADES Recursos e Infraestrutura Processo de Software É o que as pessoas fazem, utilizando procedimentos, métodos e ferramentas, para adquirir, desenvolver, manter e melhorar software e produtos associados

  36. Por que usar modelos? Modelo Áreas de Conhecimento • Exemplo: BOLO PRESTÍGIO DA TIA RÔ • Cobertura tipo brigadeiro • Ingredientes: 1 lata leite condensado, 1 colher de manteiga, 4 colheres de chocolate • Modo de fazer: xxxx • Massa básica de bolo • Ingredientes: 4 ovos, 16 colheres de água, 3 xícaras de farinha, 3 xícaras de açucar, 1 colher de pó royal • Modo de fazer: xxxx • Recheio • Ingredientes: 1 lata de leite condensado, 1 lata de creme de leite, 1 vidro de leite de coco, 150g de coco • Modo de fazer: xxxx • Repositório das melhores práticas da Engenharia de Software (SWEBOK, CMMI, ISO15504, ISO9000,PMBOK) • Referência para escrever e estabelecer processos • Define “o quê“ deve ser feito, não o “como” • Independente da tecnologia a ser utilizada • Diversas empresas já utilizaram com sucesso • Os modelos definem um conjunto universal de processosfundamentais para Engenharia de Software e um roteiro racional para avaliação e melhoria de cada processo • Exemplo: Fazer um bolo de chocolate com cobertura de brigadeiro e recheio de creme de coco, sem utilizar batedeira. • Quais os ingredientes ???? • Que atividades?? • Como devo proceder??

  37. Exemplo de modelo: CMMI ÁREAS DE PROCESSO RSKM: Gestão de Risco QPM: Gestão Quantitativa de Projeto REQM: Gestão de Requisitos RD: Desenvolvimento de Requisitos TS: Solução Técnica PI: Integração de Produto VER: Verificação VAL: Validação CM: Gestão de Configuração PPQA: Garantia da Qualidade de Processo e Produto MA: Medição e Análise DAR: Análise de Decisão e Resolução CAR: Análise de Causa e Resolução OPF: Foco no Processo Organizacional OPD: Definição do Processo Organizacional OT: Treinamento Organizacional OPP: Desempenho do Processo Organizacional OID: Inovação e Melhoria Organizacional PP: Planejamento de Projeto PMC: Acompanhamento e Controle de Projeto SAM: Gestão de Acordos com Fornecedores IPM: Gestão Integrada de Projeto

  38. Requisitos Exemplo de modelo: CMMI - REQM Gerenciar os requisitos IdentificarInconsistênciasentre Trabalho do Projeto e Requisitos Obter Entendimento dos Requisitos ManterRastreamentoBidirecional Requisitos ObterComprome-timento paraos Requisitos Gerenciar Mudanças Requisitos Matriz de Rastreabilidade ou Sistema de Acompanhamento de Requisitos

  39. Principais Modelos de Capacidade de Processo • ISO/IEC 15504 (SPICE) :Software Engineering: Process Assessment(Engenharia de Software: Avaliação de Processo) • SPICE: Software Process Improvement Capability dEtermination • CMMI : Capability Maturity Model Integration(Modelo Integrado de Maturidade da Capacidade) • MR-MPS: Modelo de Referência do Projeto MPS-BR • Há outros ?

  40. Processos, guias, modelos... um mundo!

  41. o PROCESSO é complexo! (c) MERX LLC

  42. o processo é complexo... Ex.: Ampla Prospecção Contrato Execução Entrega Encerramento

  43. Temos uma sugestão: Hukars 1. Definir o modelo de negócios 2. Definir a organização da fábrica 3. Definir processo de desenvolvimento 4. Habilitar o trabalho de forma distribuída 5. Prover um site para a fábrica 6. Prover um site exclusivo para cada novo projeto 7. Definir papéis para cada novo projeto 8. Trabalhar em harmonia

  44. Hukarz • Fases

  45. Hukarz ... hukarz-l@googlegroups.com, hukarz-l@cin.ufpe.br, hukarz-l@googlegroups.com

  46. e as pessoas?... mais complexas ainda!! (c) MERX LLC

  47. COMUNICAÇÃO Fornecimento ou troca de informações, de idéia ou de sentimento, através de: PALAVRAS SINAIS GESTOS

More Related