metodologia desenvolvimento do prefeitura livre
Post on 11-May-2015
1.359 Views
Preview:
DESCRIPTION
TRANSCRIPT
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á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
Modelo Desenvolvimento Proprietário
PRODUTO
A FUNCIONALIDADE PRECISA MELHORAR
NOVAS FUNCIONALIDADES
PROBLEMAS DE NEGOCIO
INTERESSES POLITICOS E COMERCIAIS
Filosofia Livre !
Modelo Desenvolvimento SL
Motivação OpenSource: Resolver o problema !
Identificar o problema e analisar
Time de desenvolvimento resolve o problema
Solução
Publicação do Código
Modelo Desenvolvimento SL
Solução
Internet: Meio de comunicação e media de distribuição
Colaboradores:
1- Resolvem Problemas2- Adicionam Funcionalidade3- Realizam Melhorias
Inclusão do NovoCódigo a Solução
Nova versão da solução
SoluçãoSoluçãoSolução
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
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 ?
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 !
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
Prefeitura Livre
OpenGEO e ColaboradoresFORÇAS COLABORAÇÃO
FORÇAS COLABORAÇÃO
FORÇAS COLABORAÇÃO
FORÇAS COLABORAÇÃO
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;
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;
Gestão do Repositório
TRUNK
PL-AUTH1.0
PL-CRAS1.0
PL-EDUC1.0
PREFEITURA - A
V1
RELEASES
PREFEITURA - B
DESENVOLVEDOR - C
1.1
V2
Ferramenta Gestão de Projeto: TRAC
• 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
http://trac.edgewall.org/
Cadastro de um BUG
Fluxo de trabalho de um BUG
ABERTO
ENCERRADO
Inválido Funcionando
Corrigido Não Corrigido
Desenvolvedores Principais
Desenvolvedores Secundários
Não revisado
Necessita decisão design
Iniciando Correção
IniciandoTeste
Avaliação de impacto na arquitetura
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)
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ção
• Teste de versões beta
• Correções de erro
• Criação de novas funcionalidades
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
• ???
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;
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)”
top related