metodologia desenvolvimento do prefeitura livre

Post on 11-May-2015

1.359 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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

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