Formação de Comunidades Open Source como fomento à inovação na indústria ( em três atos)...

Post on 16-Apr-2015

104 views 1 download

Transcript of Formação de Comunidades Open Source como fomento à inovação na indústria ( em três atos)...

Formação de

Comunidades Open Source como fomento à inovação na indústria

(em três atos)

joa@deinfo.ufrpe.br

o início

2002

Mercado Academia (2002)

Fábricas de Software?

Comunidades de Software Livre?

o desenvolvimento sem processo...

SISTEMAS SÃO SISTEMAS SÃO ENTREGUES!!ENTREGUES!! Mas...Mas...

Acúmulo de TrabalhoAcúmulo de Trabalho

Descontinuidade de Descontinuidade de planosplanos

Prazos, custos... Prazos, custos... EstouramEstouram

Time de heróisTime de heróis

Clientes sem Clientes sem atendimentoatendimento

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 co-desenvolvedores

• Divulgação “boca-a-boca”

• Teste massificado pelos usuários

• Gerência de versões é complexa e “bem-definida”

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)

http://sourceforge.net/

231,649 projects nov 29 BRT 2007!268,668 projects apr 24 BRT 2008!

sourceforge.net

• 2005 jun 100K• 2006 apr 134K• 2007 apr 189K• 2008 apr 269K

0

50

100

150

200

250

300

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 2003http://www.upgrade-cepis.org/issues/2003/4/upgrade-vIV-4.html

Free Software EngineeringResume

• “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

structure culture

process

Eletronic communication

Multicultural community

Values: reciprocity, gift giving, reputation, ideology

Core assumptions

Division of labour

Co-ordination mechanisms

Distribution od decision-making

Organizational boundaries

Informal structure

Political structure

Legitimate basis of authority

Framework for creating Hybrid-

OSS 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ípiosconceitosilusõ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...

20033 Fábricas1 único projeto, 3 resposta a RFPsNenhum cliente externo (Jones e Silvio)Alunos são rapidamente absorvidos pelo mercado local!!

Fábrica 1

The Factory

Fábrica 3

20043 Fábricas3 projetos, clientes reaisEngenharia de Vendas!Protótipos dão contribuem ou dão origem a projetos reais, financiados!!

Fábricas

OpenGadgetsEngenho de SoftwareUSina

Projetos

Canto LivreMHPSimulare

20054 Fábricas4 projetos, clientes reais, atração de colaboradores externosFábrica OXE vende solução OSS!Soluções são reais e geram negócios...

Projetos

CAOSVENSSORISEPMK

Fábricas

FABRICKOXEDONEOpen Knowledge

Lições Aprendidas1. 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

15. 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-mestrasIN953 – 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 KelonSilvio Meira

Jones Albuquerque

Recife, 21th May 2007

OSS Factory — Step by Step

1. Definir o modelo de negócios2. Definir a organização da fábrica3. Definir processo de desenvolvimento4. Habilitar o trabalho de forma distribuída5. Prover um site para a fábrica6. Prover um site exclusivo para cada novo projeto7. Definir papéis para cada novo projeto0. Trabalhar em harmonia

Hukarz

• Fases

Hukarz

<<Disciplina>>Construção

<<Disciplina>>Arquitetura de

Software

<<Disciplina>>Testes

<<Disciplina>>Gerenciamento de Configuração de

Software

<<Disciplina>>Engenharia de

Processo

<<Disciplina>>Planejamento &

Acompanhamento de Projetos

<<Disciplina>>Gerenciamento de

Requisitos

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

how IN953 works?

if you don´t know yet!

silviojonesalan

Building Software Factories - Metodology

Teams

1st month!

SoftwareFactoriesModels

SoftwareLifecicle

Software Factories infrastructure and

organization

InternalEvaluation

BusinessModel

ExternalEvaluation

2nd Month

REALOperation!

PILOTOperation!

http://www.behavioradvisor.com/

Horas de estudoHoras de trabalhoCenários reaisProjetos reaisInovaçõesOportunidadesNegóciosExperiênciasPublicações

Como se trabalha...

SCORES - and the winner is...

• Individuals x team

• Tests

• Deliverables

• Client

• Teachers

http://www.coolrunning.com/

teams

• people

• skills

• curricula

20067 Fábricas!!Disciplina aberta ao Porto Digital!7 projetos, clientes reaisSoluções são hospedadas no CESAR

Projetos

TrulogiRedesWeb 2.0TV Digital MóvelPMK Learning EnvironmentGVS - Grid Versioning ServiceToolDAy - Tool for Domain AnalYsis

Fábricas

1. SunRise2. Garage3. Cooper4. J.O.S.E.5. T.R.E.N.D.6. O.S.S.O7. OpenMind

20075 Fábricas no CIn4 Fábricas no CESAR.EDUProjetos secretos, unidades de negócio...

Fábricas no CESAR.EDU

WHEreisxFactoryFIRECORE

CIn-UFPE tem cursos na Graduação e Pós-GraduaçãoCESAR 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_publicDocuments.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?

PrimateProgrammingInc!

mas o dia a dia dos programadores... até na PPI é assim

Pair Programming

Reunião de acompanhamento

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

• COMERCIAL– TOC – based on risks– Análise interacional– Análise psicológica como instrumento determinante de estratégia de vendas

77-23

http://php.cin.ufpe.br/~pmk/hp/portugues/home.php

Toyota ifoot

Honda Azimo

Bioinformatics

nova força de trabalho: robôshttp://silviomeira.blog.terra.com.br/

nova_forca_de_trabalho_robos

Robô ASIMO comanda Orquestra Sinfônica de Detroithttp://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

www.xiscanoe.orgpara saber mais...

Smashing Gliders

E o que vem depois??