metodologia desenvolvimento do prefeitura livre

25
Rafael Soto - [email protected]

Upload: geolivre-conference

Post on 11-May-2015

1.359 views

Category:

Technology


1 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Metodologia Desenvolvimento do Prefeitura Livre

Rafael Soto - [email protected]

Page 2: Metodologia Desenvolvimento do Prefeitura Livre

Projetos em Software Livre

• Software de graça = Bagunça sem garantia !

• Proprietário X Livre

Page 3: Metodologia Desenvolvimento do Prefeitura 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

Page 4: Metodologia Desenvolvimento do Prefeitura Livre

Modelo Desenvolvimento Proprietário

PRODUTO

A FUNCIONALIDADE PRECISA MELHORAR

NOVAS FUNCIONALIDADES

PROBLEMAS DE NEGOCIO

INTERESSES POLITICOS E COMERCIAIS

Page 5: Metodologia Desenvolvimento do Prefeitura Livre

Filosofia Livre !

Page 6: Metodologia Desenvolvimento do Prefeitura 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

Page 7: Metodologia Desenvolvimento do Prefeitura Livre

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

Page 8: Metodologia Desenvolvimento do Prefeitura Livre

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

Page 9: Metodologia Desenvolvimento do Prefeitura Livre

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 ?

Page 10: Metodologia Desenvolvimento do Prefeitura Livre

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 !

Page 11: Metodologia Desenvolvimento do Prefeitura Livre

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

Page 12: Metodologia Desenvolvimento do Prefeitura Livre

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;

Page 13: Metodologia Desenvolvimento do Prefeitura Livre

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;

Page 14: Metodologia Desenvolvimento do Prefeitura Livre

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

Page 15: Metodologia Desenvolvimento do Prefeitura Livre

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/

Page 16: Metodologia Desenvolvimento do Prefeitura Livre

Cadastro de um BUG

Page 17: Metodologia Desenvolvimento do Prefeitura Livre

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

Page 18: Metodologia Desenvolvimento do Prefeitura Livre

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)

Page 19: Metodologia Desenvolvimento do Prefeitura Livre

UnderControl: Painel de Métricas

Page 20: Metodologia Desenvolvimento do Prefeitura Livre

UnderControl: Build do Projeto

Page 21: Metodologia Desenvolvimento do Prefeitura Livre

UnderControl: Atualizacão de doc

Page 22: Metodologia Desenvolvimento do Prefeitura Livre

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

Page 23: Metodologia Desenvolvimento do Prefeitura Livre

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

• ???

Page 24: Metodologia Desenvolvimento do Prefeitura Livre

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;

Page 25: Metodologia Desenvolvimento do Prefeitura Livre

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)”