Formação de Comunidades Open Source como fomento à inovação na indústria (em três atos) [email protected] o início 2002 Mercado Academia (2002) Fábricas de Software? Comunidades de Software Livre? o desenvolvimento sem processo... SISTEMAS SÃO ENTREGUES!! Mas... Acúmulo de Trabalho Descontinuidade de planos Prazos, custos... Estouram Time de heróis Clientes sem atendimento 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? • Open-Source? • Distribuída? Fonte: sixsigmatutorial.com factories X Business X OSS development... • • • • • • conjunções e intersecções métodos e ferramentas processo modelos licenças vendas Free Software Projects • Nascem como iniciativa isolada e particular • Usuários são codesenvolvedores • Divulgação “boca-aboca” • Teste massificado pelos usuários • Gerência de versões é complexa e “bemdefinida” Open Source Projects • • • • • • • • • • • • • • • • • • • (Sun apr 22 20:18:32 BRT 2007) 189,827 projects! Communications (18979) Database (7090) Desktop Environment (3843) Education (5076) 231,649 projects nov 29 BRT 2007! Formats and Protocols (3014) 268,668 projects apr 24 BRT 2008! 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) http://sourceforge.net/ Text Editors (3275) sourceforge.net • • • • 2005 jun 100K 2006 apr 134K 2007 apr 189K 2008 apr 269K 300 250 200 150 100 50 0 2004 2005 2006 2007 2008 2009 Série1 Causas de Descontinuidade de Projetos SW Livre • Falta de interesse, tempo ou motivação – mudança de liderança nos projetos impactam sua continuidade • Code Forking – cada usuário tem acesso ao código e pode alterá-lo e redistribuí-lo sem o conhecimento do líder do projeto http://www.math.uconn.edu/~bass/scdp.pdf Free Software Engineering: A Field to Explore Gonzáles-Barahona and Robles UPGRADE Vol. IV No. 4 August 2003 http://www.upgrade-cepis.org/issues/2003/4/upgrade-vIV-4.html Free Software Engineering Resume • “A Field to Explore” • “is still in its infancy” (2003!) • “How to create free software? Issues: – Classification of free software projects – Creation of a methodology – Methods + classification + models ++ Simulation (intelligent agents) = Free SW Engineering” A Framework for creating hybrid-open source software communities Srinarayan Sharma et. al. Info Systems (2002), 12. The OSS model • Three dimensions: – structure, process and culture Division of labour Co-ordination mechanisms structure culture Eletronic communication Multicultural community Distribution od decisionmaking Informal structure Values: reciprocity, gift giving, reputation, ideology Political structure Core assumptions Organizational boundaries Legitimate basis of authority process Framework for creating HybridOSS communities Principles: • Community building • Community governance – Shared governance – Membership management – Incentives and rewards • Community infrastructure 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 fábricas de software princípios conceitos ilusões 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.cin.ufpe.br/~in953/papers/Software_Factories_17.pdf 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) ...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.cin.ufpe.br/~in953/papers/Software_Factories_17.pdf ...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? Experimentar... 2003 3 Fábricas 1 único projeto, 3 resposta a RFPs Nenhum cliente externo (Jones e Silvio) Alunos são rapidamente absorvidos pelo mercado local!! Fábrica 1 The Factory Fábrica 3 2004 3 Fábricas 3 projetos, clientes reais Engenharia de Vendas! Protótipos dão contribuem ou dão origem a projetos reais, financiados!! Fábricas OpenGadgets Engenho de Software USina Projetos Canto Livre MHP Simulare 2005 4 Fábricas 4 projetos, clientes reais, atração de colaboradores externos Fábrica OXE vende solução OSS! Soluções são reais e geram negócios... Projetos CAOS VENSSO RISE PMK Fábricas FABRICK OXE DONE Open Knowledge Lições Aprendidas 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. RIBEIRO, R. A. ; Guimarães, R. ; MORARES, A. K. O. ; MEIRA, S. R. L. ; ALBUQUERQUE, J. O. . Open Source Business Models Patterns. In: SugarLoafPLoP 07 - 6th Latin American Conference on Pattern Languages of Programming, 2007, Porto de Galinhas - PE. 6th Latin American Conference on Pattern Languages of Programming, 2007. MORARES, A. K. O. ; MEIRA, S. R. L. ; ALBUQUERQUE, J. O. . Open Source Software Factory: Step by Step: A Case Report. In: First International Conference on Open Source Collaborative Development Platforms (Héphaïstos), 2006, Paris, France. First International Conference on Open Source Collaborative Development Platforms (Héphaïstos), 2006. RIBEIRO, R. A. ; Silva, F. Q. B. ; MORARES, A. K. O. ; ALBUQUERQUE, J. O. ; MEIRA, S. R. L. . Towards a software licensing guide for Open Source Business Models. In: First International Conference on Open Source Collaborative Development Platforms (Héphaïstos), 2006, Paris, France. First International Conference on Open Source Collaborative Development Platforms (Héphaïstos), 2006. MORARES, A. K. O. ; MEIRA, S. R. L. ; ALBUQUERQUE, J. O. . Desafios na avaliação individual e coletiva em um curso de Engenharia de Software direcionado para utilização de processos de desenvolvimento distribuído de software. In: International Conference on Engineering and Computer Education, 2006, Santos, Brasil. International Conference on Engineering and Computer Education, 2006. ALBUQUERQUE, J. O. ; MEIRA, S. R. L. ; MORARES, A. K. O. . Software Engineering in Practice: Building Software Factories (Revised - Invited Paper). In: 3rd Experimental Software Engineering Latin American Workshop, 2006, Rio de Janeiro, Brasil. 3rd Experimental Software Engineering Latin American Workshop, 2006. GARCIA, Vinicius Cardoso; LUCRÉDIO, Daniel; DURÃO, Frederico Araujo; SANTOS, Eduardo Cruz Reis; ALMEIDA, Eduardo Santana de; FORTES, Renata Pontin de Mattos; MEIRA, Silvio Romero de Lemos. From Specification to the Experimentation: A Software Component Search Engine Architecture. In the 9th International Symposium on Component-Based Software Engineering (CBSE 2006), Lecture Notes in Computer Science (lncs), Mälardalen University, Västerås near Stockholm, Sweden, 2006. Cavalcanti, A. P. C., Lucena, L. R., Lucena, M. J. N. R., Moraes, A. K. O. de, Fernandes, D. Y. S., Pereira, S. C., Albuquerque, J. O. and Meira, S. R. L. 2005. Towards an Open Source Software Factory. In: 2nd Experimental Software Engineering Latin American Workshop, Uberlândia, MG, 2005. V. Garcia, F. Durão, M. dos Santos, E. Almeida, D. Lucrédio, J. Albuquerque, S. Meira. Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes. WDBC2005 - 5o. Workshop de Desenvolvimento Baseado em Componentes. SBC - Sociedade Brasileira de Computação. Juiz de Fora - MG, 2005. FABRICKS et. al. An Experience of Modeling and Implementing an Open Source Software Factory Methodology. SIMS2005 X Simpósio de Informática. SBC - Sociedade Brasileira de Computação, Uruguaiana - RS, 2005. Jones Albuquerque and Silvio Meira. Software Engineering in Practice: Building Software Factories. ESELAW04 - 1st Experimental Software Engineering Latin American Workshop. SBC - Brazilian Computer Society and IEEE/TCSE-Technical Council on Software Engineering. October, 18. Brasília - DF, 2004. Breno Spindola, Carlos Albuquerque, Jorge Mascena, Karine Coelho, Ryan Albuquerque e Thayssa Rocha. Definição e Melhoria de Processos em uma Fábrica de Software Livre. SIMPROS2004 - VI Simpósio Internacional de Melhoria de Processos de Software, São Paulo, 24-26 de novembro de 2004. Regiane Brito, Patrícia Ferreira, Kleber Silva, Vanilson Burégio e Ivan Leite. Uma Experiência na Implantação de Processo em uma Fábrica de Software Livre. SIMPROS2004 - VI Simpósio Internacional de Melhoria de Processos de Software, São Paulo, 24-26 de novembro de 2004. Vivianne da Nóbrega Medeiros, Carlos Andreazza Rego Andrade, Eduardo Santana de Almeida, Jones Albuquerque e Silvio Meira. Construindo uma Fábrica de Software: da Concepção às Lições Aprendidas. CLEI2004 - XXX Latin-American Conference on Informatics, oct-2004, Arequipa, Peru. Alexandre Alvaro, Thiago Luiz Santos, Paulo Rogério Andrade, João Marcos Vasconcelos, Jones Albuquerque, Silvio Meira. Lições Aprendidas na Criação de uma Fábrica de Software Open-Source. 5o. Workshop de Software Livre, WSL'2004, Porto Alegre, RS, 2-5 de junho de 2004. Helena Marques, Rodrigo Teixeira e Ismênia Silva. Adaptação de um Processo de Desenvolvimento para Fábricas de Software Distribuídas. 7o. Workshop Ibero-Americano de Engenharia de Requisitos e Ambientes de Software, IDEAS'2004, Arequipa, Perú, 3-7 maio 2004. o meio 2006 ... linhas-mestras IN953 – Engenharia de Software • Process Implementation – Software Factories (Gibeon, Ana Paula, Thayssa) • F/L/OSS (Alan) • OSS Business Model (Alan, Ana Paula, Aisa) • Scientific Relevant Projects (Convidados) • Business & Humanitas (TODOS!) 2004, 2005,... X 2008 factories X OSS development? • conjunções e intersecções • métodos e ferramentas • processo • modelos • licenças • Vendas e modelos de negócio X e o mercado? • http://mshiltonj.com/software_wars/ e o mercado? De novo... What is institutionalization? No, not that kind! 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ê?} Hukarz Alan Kelon Silvio Meira Jones Albuquerque Recife, 21th May 2007 OSS Factory — Step by Step 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 0. Trabalhar em harmonia Hukarz • Fases Hukarz ... [email protected], [email protected], [email protected] Hukarz <<Disciplina>> Planejamento & Acompanhamento de Projetos <<Disciplina>> Arquitetura de Software <<Disciplina>> Gerenciamento de Configuração de Software <<Disciplina>> Gerenciamento de Requisitos <<Disciplina>> Construção <<Disciplina>> Testes <<Disciplina>> Engenharia de Processo how IN953 works? if you don´t know yet! silvio jones alan Building Software Factories Metodology Teams Internal Evaluation Software Factories infrastructure and organization Software Factories Models Software Lifecicle External Evaluation REAL Operation! PILOT Operation! Business Model 1st month! 2nd Month Como se trabalha... Horas de estudo Horas de trabalho Cenários reais Projetos reais Inovações Oportunidades Negócios Experiências Publicações http://www.behavioradvisor.com/ SCORES - and the winner is... • • • • • Individuals x team Tests Deliverables Client Teachers http://www.coolrunning.com/ teams • people • skills • curricula 2006 7 Fábricas!! Disciplina aberta ao Porto Digital! 7 projetos, clientes reais Soluções são hospedadas no CESAR Projetos Trulog iRedes Web 2.0 TV Digital Móvel PMK Learning Environment GVS - Grid Versioning Service ToolDAy - Tool for Domain AnalYsis Fábricas 1. SunRise 2. Garage 3. Cooper 4. J.O.S.E. 5. T.R.E.N.D. 6. O.S.S.O 7. OpenMind 2007 5 Fábricas no CIn 4 Fábricas no CESAR.EDU Projetos secretos, unidades de negócio... Projetos e Fábricas no CIn Project AMIGOS Factory CHOPP Project ANKOS Factory O3S Project Maracatwo Factory Bodega Project Cesar Desktop Factory Skankrado Project Telescope Factory OpenBox Fábricas no CESAR.EDU WHEreis xFactory FIRE CORE CIn-UFPE tem cursos na Graduação e Pós-Graduação CESAR tem o GARAGE! CESAR.edu tem a metodologia de Fábrica de Software Lições Aprendidas • Bons Times • Excelentes Projetos • Excelentes Técnicas MDA e SPL, referências... • MDA 1. http://www.omg.org/mda/ 2. http://modeldrivenarchitecture.esi.es/mda_pu blicDocuments.html • SPL 1. http://www.sei.cmu.edu/productlines/ e há engenharia para vendas? Há sim… http://www.engenhariadevendas.com.br/ http://novateceditora.com.br/livros/vendendosoftware/ OSS Business models • Based on the seven business models identified on (Koenig, 2004), seven business patterns were proposed Koenig (2004) Seven open source business strategies for competitive advantage. IT Manager’s Journal OSS Licenses • Licensing is such a complex subject that we can find books about it * • New Zealand government has developed a research in where the licenses where categorized as: – strongly infectious – weakly infectious – permissive *Laurent, Andrew M. St. 2004. Understanding Open Source and Free Software Licensing. O'Reilly Media,Inc. State Services Commission (2006) Guide to Legal Issues in Using Open Source Software. New Zealand Government Policy. [ http://www.e.govt.nz/policy/open-source/open-source-legal/guide-to-legal-issues-in-using-open-source-software.pdf ] Strongly infectious licensing • Problem: – How to estimulate the return of the enhancements of an open source software to the community or author. • Solution: – Have the software or product licensed using the GNU General Public License (GPL) • Known uses: – MySQL SGBD, Cyclades products Ribeiro, R. A., Guimarães, R. A., Moraes, A. K. O., Albuquerque, J. O., Meira, S. R. L. (2007) Padrões para Negócios Open Source. 6ª Conferência Latino Americana em Linguagens de Padrões para Programação, Porto de Galinhas, Brasil, 2007. e as pessoas?... (c) MERX LLC o fim? 20xx tendências? Prediction is difficult, especially of the future. Niels Bohr (1885-1962) tempo? computer power!! computer power? BUT, ... • “Computer Science is no more about computers than astronomy is about telescopes.” E. W. Dijkstra, holandês, (1930-2002) produtividade? mas há outras estratégias... diminuir a ociosidade no escritório, por exemplo... diminuindo os custos de desenvolvimento? Primate Programming Inc! mas o dia a dia dos programadores... até na PPI é assim Reunião de acompanhamento Pair Programming uma fábrica de software… a médio prazo… • DESENVOLVIMENTO – Modelagem e implementação usando Mozart, UML, SDL… – Componentes • http://www.cin.ufpe.br/~in1045/ – Acompanhamento de atividades • simulação de processos • modelagem de seres humanos • agentes IA como gerente de projetos – Análise interativa e iterativa http://php.cin.ufpe.br/~pmk/hp/portugues/home.php • COMERCIAL – TOC – based on risks – Análise interacional – Análise psicológica como instrumento determinante de estratégia de vendas 77-23 Toyota ifoot Honda Azimo Bioinformatics nova força de trabalho: robôs http://silviomeira.blog.terra.com.br/nova_forca_de_trabalho_r obos Robô ASIMO comanda Orquestra Sinfônica de Detroit http://www.geek.com.br/modules/noticias/ver.php?id=20112 &sec=3 http://www.irobot.com/ e o que mais tem vindo por aí… • trilhas da engenharia de produção • framework para fábricas • constraint logic solvers • simuladores de modelagem • editores sintáticos visuais • autômatos celulares • … 80-23 Moving Things Around para saber mais... www.xiscanoe.org Smashing Gliders E o que vem depois??