Rafael Soto - rafael@opengeo.com.br
Projetos em Software Livre

• Software de graça = Bagunça sem garantia !
• Proprietário X Livre
Modelo Desenvolvimento Proprietário

             Motivação Proprietária: Retorno Financeiro

                        Anál...
Modelo Desenvolvimento Proprietário


                    NOVAS FUNCIONALIDADES




 A FUNCIONALIDADE
                    ...
Filosofia Livre !
Modelo Desenvolvimento SL

   Motivação OpenSource: Resolver o problema !

         Identificar o problema e analisar


  ...
Modelo Desenvolvimento SL

                   Internet: Meio de comunicação e media de distribuição
Colaboradores:

1- Res...
Ecossistema

• Ecossistema do software livre
    – Colaboração e coletivismo
    – Espontaneidade e voluntariedade
    – T...
Prefeitura Livre: Motivação

• Consultoria em prefeituras
• Relatórios comuns e problemas iguais !
• Similaridade das solu...
Problemática do Modelo PL

• Desenvolvedor X Beneficio
• Stakeholders = Prefeitura = Patrocinadores
• Gerência de Interess...
Processo de colaboração PL

• OpenGEO como mantenedora do projeto para a
    garantia de qualidade e sobrevivência do
    ...
Gerenciamento do Projeto

• Hospedagem e manutenção do repositório
   central do projeto, listas de discussões, wiki e
   ...
Gestão do Repositório

• Servidores Subversion (24 X 7);
• Gerência subdividido em módulos e sub-
   módulos;
• Cada módul...
Gestão do Repositório


DESENVOLVEDOR - C


PREFEITURA - B


PREFEITURA - A

                     1.0
PL-EDUC
            ...
Ferramenta Gestão de Projeto: TRAC
                http://trac.edgewall.org/


• TRAC – Integrated SCM & Project Manager
•...
Cadastro de um BUG
Fluxo de trabalho de um BUG

  Desenvolvedores Principais
  Desenvolvedores Secundários          ABERTO

                 ...
Controle de Qualidade

• TDD (Desenvolvimento Orientado a Teste)
• Execução automatizada de testes unitários e
    integra...
UnderControl: Painel de Métricas
UnderControl: Build do Projeto
UnderControl: Atualizacão de doc
Como posso colaborar ?

• Patrocínio de novos módulos
• Documentação
    – Manual
    – Traduções
    – Wiki
    – Instala...
Como posso colaborar ?

• Solicitar uma melhoria
• Solicitar novas funcionalidades
• Fornecer requisitos de negócio
• Part...
Perfil dos colaboradores
        (committer profile)
• Full Committer: Desenvolvedores, prefeituras,
   e empresas associa...
Projeto Prefeitura Livre




“Se você tem uma maçã e eu tenho uma maçã,
e nós trocamos as maçãs,
então você e eu ainda ter...
Próximos SlideShares
Carregando em…5
×

Metodologia Desenvolvimento do Prefeitura Livre

1.755 visualizações

Publicada em

Apresentação ministrada no Geolivre Conference 2009 por Rafael Soto, gerente de projetos da OpenGEO, sobre o método de gerenciamento de desenvolvimento do sistema Prefeitura Livre.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Metodologia Desenvolvimento do Prefeitura Livre

  1. 1. Rafael Soto - rafael@opengeo.com.br
  2. 2. Projetos em Software Livre • Software de graça = Bagunça sem garantia ! • Proprietário X Livre
  3. 3. Modelo Desenvolvimento Proprietário Motivação Proprietária: Retorno Financeiro Análise de Mercado Time de desenvolvimento inicia o desenvolvimento do software Versão BETA é enviada para o BETA tester Relatório de erros enviado para correção Erros corrigidos reportados para o Gerente de Produto PRODUTO LANÇADO
  4. 4. Modelo Desenvolvimento Proprietário NOVAS FUNCIONALIDADES A FUNCIONALIDADE PROBLEMAS DE NEGOCIO PRECISA MELHORAR INTERESSES POLITICOS E COMERCIAIS PRODUTO
  5. 5. Filosofia Livre !
  6. 6. Modelo Desenvolvimento SL Motivação OpenSource: Resolver o problema ! Identificar o problema e analisar Time de desenvolvimento resolve o problema Publicação do Código Solução
  7. 7. Modelo Desenvolvimento SL Internet: Meio de comunicação e media de distribuição Colaboradores: 1- Resolvem Problemas 2- Adicionam Funcionalidade 3- Realizam Melhorias Inclusão do Novo Código a Solução Solução Solução Nova versão da solução
  8. 8. Ecossistema • Ecossistema do software livre – Colaboração e coletivismo – Espontaneidade e voluntariedade – Transparência e domínio da expertise – Redução da burocracia de desenvolvimento – Processos auto-gerênciados – Convergência de interesses
  9. 9. Prefeitura Livre: Motivação • Consultoria em prefeituras • Relatórios comuns e problemas iguais ! • Similaridade das soluções • Utilização de tecnologias 100% S.L • Porque não seguir o ecosistema ?
  10. 10. Problemática do Modelo PL • Desenvolvedor X Beneficio • Stakeholders = Prefeitura = Patrocinadores • Gerência de Interesses – Empresas associadas – Prefeituras – Desenvolvedores Autônomos • Vamos assumir um compromisso !
  11. 11. Processo de colaboração PL • OpenGEO como mantenedora do projeto para a garantia de qualidade e sobrevivência do projeto • Prefeituras podem colaborar • Empresas podem se associar e colaborar • Desenvolvedores e entusiastas também FORÇAS COLABORAÇÃO OpenGEO e Colaboradores FORÇAS COLABORAÇÃO Prefeitura Livre FORÇAS COLABORAÇÃO
  12. 12. Gerenciamento do Projeto • Hospedagem e manutenção do repositório central do projeto, listas de discussões, wiki e outros recursos necessários ao projeto; • Gestão do processo de colaboração; • Garantia de qualidade e estabilidade; • Lançamento de novas versões (releases); • Apoio em eventos e reuniões; • Organização sistêmica dos interesses e objetivos a serem alcançados; • Apoio técnico ao projeto;
  13. 13. Gestão do Repositório • Servidores Subversion (24 X 7); • Gerência subdividido em módulos e sub- módulos; • Cada módulo possui o seu controle de versão; • Áreas individuais (sandbox) para cada colaborador utilizar; • Isolamento do tronco principal do repositório; • Execução de testes e controle de qualidade antes de aprovar novos códigos das versões de desenvolvimento;
  14. 14. Gestão do Repositório DESENVOLVEDOR - C PREFEITURA - B PREFEITURA - A 1.0 PL-EDUC 1.0 1.1 PL-CRAS 1.0 PL-AUTH RELEASES TRUNK V1 V2
  15. 15. Ferramenta Gestão de Projeto: TRAC http://trac.edgewall.org/ • TRAC – Integrated SCM & Project Manager • Controla todo o fluxo de trabalho do projeto • Ferramenta web e colaborativa • Geração de relatórios e estatísticas do projeto • Formulário para submissão de bugs encontrados • Formulário para solicitações de melhorias e novas funcionalidades • Disponível para toda comunidade acompanhar e colaborar
  16. 16. Cadastro de um BUG
  17. 17. Fluxo de trabalho de um BUG Desenvolvedores Principais Desenvolvedores Secundários ABERTO Não revisado ENCERRADO Inválido Funcionando Necessita decisão design Corrigido Não Corrigido Iniciando Correção Avaliação de impacto na arquitetura Iniciando Teste
  18. 18. Controle de Qualidade • TDD (Desenvolvimento Orientado a Teste) • Execução automatizada de testes unitários e integrados( phpUnit e Selenium) • Mecanismo de integração continua (php UnderControl) • Ferramenta para verificação de padronização de código (code sniffer) • Teste de carga, stress e aceitação (Jmeter)
  19. 19. UnderControl: Painel de Métricas
  20. 20. UnderControl: Build do Projeto
  21. 21. UnderControl: Atualizacão de doc
  22. 22. Como posso colaborar ? • Patrocínio de novos módulos • Documentação – Manual – Traduções – Wiki – Instalação • Teste de versões beta • Correções de erro • Criação de novas funcionalidades
  23. 23. Como posso colaborar ? • Solicitar uma melhoria • Solicitar novas funcionalidades • Fornecer requisitos de negócio • Participar de discussões nos principais canais de comunicação (listas, fóruns, irc, chat) • Organização de eventos e palestras • Transformar perguntas freqüentes dos fóruns em tópicos da FAQ • ???
  24. 24. Perfil dos colaboradores (committer profile) • Full Committer: Desenvolvedores, prefeituras, e empresas associadas aprovadas pelo comitê avaliador do Prefeitura Livre tendo o seu processo de desenvolvimento homologado pela OpenGEO; • Module Committer: Permissão em alguns módulos; • Documentation Committer: Permissão para efetuar alterações sobre a documentação; • Sandbox Committer: Permissão restrita a sua área individual;
  25. 25. Projeto Prefeitura Livre “Se você tem uma maçã e eu tenho uma maçã, e nós trocamos as maçãs, então você e eu ainda teremos uma maçã. Mas se você tem uma idéia e eu tenho uma ideia, e nós trocamos essas ideias, então cada um de nós terá duas ideias (George Bernard Shaw)”

×