78

Gerenciamento de Configuração e Mudanças com TRAC e SVN

Embed Size (px)

DESCRIPTION

Apresentar os recursos dos softwares Trac e SVN paracontrole unificado das operações de gerência deconfiguração e mudanças, englobando:•Controle de atividades•Documentação•Base de conhecimento•Controle de versões•Métricas de software•Controle de horas•Acompanhamento de produtividade•Acompanhamento da evolução de projetos de software

Citation preview

Page 1: Gerenciamento de Configuração e Mudanças com TRAC e SVN
Page 2: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Gerenciamento de Configuração e Mudanças

TRAC e SVN

Gerenciando de forma integrada

solicitações de mudanças, artefatos e atividades.

Page 3: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Agenda

•Definições

•Objetivos

•Motivação

•Solução Proposta

•TRAC

•SVN

•Quem Usa?

•Porque Usar?

•Estudo de Caso

•Controle de Atividades

•Documentação e Base de Conhecimento

•Integração e Automação

•Acompanhando a Evolução do Projeto

•Métricas

•Segurança

•Ferramentas Auxiliares

•Considerações Finais

Page 4: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Definições

•Controle de Versões

Software com a finalidade de gerenciar as diferentes versões — histórico e

desenvolvimento — dos códigos-fontes de um sistema e também de sua

documentação.

•Controle de Mudanças

O controle de mudanças é uma das atividades necessárias da Gerência de

Configuração. Seu papel principal é registrar, avaliar e rastrear todas as

mudanças aplicadas ao projeto, desde o momento em que são propostas, até o

momento em que são implementadas (ou não) nos itens de configuração.

•Wiki

Software para edição colaborativa do conteúdo de documentos que fica

disponível através de um navegador web.

•Base de Conhecimento (Knowledge Base)

Define bases de dados ou conhecimento acumulado sobre um ou mais

assuntos.

Page 5: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Objetivos

Apresentar os recursos dos softwares Trac e SVN para

controle unificado das operações de gerência de

configuração e mudanças, englobando:

•Controle de atividades

•Documentação

•Base de conhecimento

•Controle de versões

•Métricas de software

•Controle de horas

•Acompanhamento de produtividade

•Acompanhamento da evolução de projetos de software

Page 6: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Motivação

•Inexistência de controle unificado e centralizado de

solicitações de mudança entre cliente e Cepromat,

ocasionando a existência de lista paralelas e eventualmente

divergentes de mudanças.

•Dificuldade de mapeamento do andamento e da situação

vigente das solicitações dos clientes;

•Existência de projetos que não utilizam controle de versão e

mudanças informatizado;

•Genexus possui controle de versões próprio e não é integrado

com outras soluções que não sejam da Artech;

•Soluções existentes de controle de atividades (Clear Quest) e

controle de versões (Clear Case) não apresentam nível de

integração necessário em sua implementação atual no

Cepromat;

•Necessidade de controle manual para rastreabilidade de

artefatos relativos à determinada atividade;

Page 7: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Motivação

•Ausência de controle de horas integrado ao controle de

atividades;

•A documentação dos projetos (Casos de Uso e Material de

Apoio) utiliza Word, que embora difundido entre o público

em geral, não permite integração com o controle de

atividades e integra de forma limitada com o controle de

versões.

Page 8: Gerenciamento de Configuração e Mudanças com TRAC e SVN

trac Integrated SCM & Project Management

Page 9: Gerenciamento de Configuração e Mudanças com TRAC e SVN

TRAC

Trac é uma plataforma open source e de interface web

para controle de atividades e mudanças em projetos de

desenvolvimento de software.

Alguns recursos:

•Controle de atividades de todo o processo de

desenvolvimento;

•Wiki para documentação e base de conhecimento

colaborativa com referência cruzada entre seus

elementos;

•Integração entre o controle de versão (SVN) e o controle

de mudanças;

•Acompanhamento da evolução do projeto;

•Personalização do fluxo de atividades de

desenvolvimento;

Page 10: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Subversion (SVN)

Subversion é um sistema de controle de versão open-

source, sendo um dos mais utilizado no mundo.

Atua no gerenciamento de arquivos e diretórios, e as

modificações feitas neles ao longo do tempo permitindo

a recuperação de versões antigas, exame do histórico

de alterações, ramificações (branching e merge) e

rotulagem (tagging).

Page 11: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Quem usa a solução TRAC + SVN?

No Brasil:

•SEAD e SEFAZ - Estado do Piauí

•FGV - Fundação Getúlio Vargas

•Squadra Tecnologia

•Colab Interlegis - Modernização e integração do Poder

Legislativo Brasileiro

•Universidade Federal Fluminense (UFF)

No Mundo:

•Laboratório de Propulsão a Jato da NASA

•Bombardier Aerospace

•Artech (Genexus)

•PriceWaterHouseCoopers

•Nokia

•University of California (UCSD)

•University of Auckland

•RubyOnRails

•jQuery

Page 12: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Benefícios:

•Solução baseada em softwares Open Source e de uso

livre sem a incidência de licenças;

•Gestão CENTRALIZADA e INTEGRADA da

documentação do projeto, das atividades e de versões

dos artefatos de software e documentação;

•Integração entre Documentação do Projeto (Análise e

Complementares), Atividades, Código Fonte, Revisões

de Código Fonte, Fórum e Base de Conhecimento;

•Em um único passo, o código fonte é versionado no

repositório, as horas trabalhadas são registradas, o

andamento da atividade em % é atualizado e a atividade

é fechada de forma automática;

Page 13: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Benefícios:

•Relatórios estatísticos e gráficos permitem visualizar

as métricas do software desenvolvido de forma

automática;

•Informações comercialmente estratégicas podem ser

consultadas on-line, como por exemplo, o número de

horas utilizadas e restantes no projeto, em um módulo

do projeto, por um desenvolvedor ou em uma

atividade;

•Permite adequação do fluxo de trabalho ao processo

de desenvolvimento de software da empresa

(Atividades e Deploys);

•Não há limitação de usuários cadastrados;

Page 14: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Estudo de Caso: Projetos GIPS

Page 15: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Controle de Atividades

No Trac, o elemento central do controle de mudança é o

ticket, que é usado para registrar defeitos, pedidos de

melhoria, novas funcionalidades e qualquer outra tarefa

de projeto, seja de análise, infra ou banco de dados.

A partir dos tickets também é possível obter diversas

informações sobre o andamento da atividade,

comentários, anexos, links para casos de uso, páginas

Wiki, tópicos no fórum, etc.

Os tickets podem ser configurados para que sejam

abertos pelo próprio cliente, via web, passando a seguir

por uma triagem e validação caso necessário.

Page 16: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Controle de Atividades

Abrindo um ticket

Page 17: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Controle de Atividades

Detalhe de um ticket já fechado

Page 18: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Controle de Atividades

Histórico de alterações no ticket

Page 19: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Controle de Atividades

Notificação por Email de alterações de tickets

Page 20: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Controle de Atividades

Rastreamento de mudanças

Page 21: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Controle de Atividades

Rastreamento de mudanças

As mudanças solicitadas e as alterações

correspondentes realizadas no software são

rastreadas através das amarrações feitas pelos links

criados através da formatação Wiki;

Do lado do controle de versão (SVN), a amarração é

feita entre o conjunto de mudanças (changeset) que é

publicado no repositório e o ticket (ou outros

elementos do trac) através das mensagens de log;

Page 22: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Documentação e Base de Conhecimento

WIKI: Página Inicial Projeto

Page 23: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Documentação e Base de Conhecimento

WIKI: Editando uma página

Page 24: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Documentação e Base de Conhecimento

WIKI: Histórico de Alterações

Page 25: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Documentação e Base de Conhecimento

WIKI: Comparando Alterações

Page 26: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Documentação e Base de Conhecimento

WIKI: Exemplo de Caso de Uso

Page 27: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Documentação e Base de Conhecimento

WIKI: Exemplo de Caso de Uso

Page 28: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Documentação e Base de Conhecimento

WIKI: Editando um Caso de Uso

Page 29: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Documentação e Base de Conhecimento

WIKI: Base de Conhecimento

Page 30: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Documentação e Base de Conhecimento

WIKI: Base de Conhecimento

Page 31: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Documentação e Base de Conhecimento

WIKI: Busca Avançada (Atividades,Alterações,Etapas,Wiki,Fórum)

Page 32: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Documentação e Base de Conhecimento

FÓRUM: Ajuda a formar a base de conhecimento a partir das experiências da

equipe e pode ser linkado nas páginas Wiki

Page 33: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Documentação e Base de Conhecimento

FÓRUM: Ajuda a formar a base de conhecimento a partir das experiências da

equipe e pode ser linkado nas páginas Wiki

Page 34: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Conclusões sobre Wiki

•Fácil Acesso e Alta Disponibilidade (Web)

•Fácil Edição (Editor Rico – WYSIWYG)

•Fácil Atualização (Quem tem direito, atualiza)

•Fácil Rastreamento de Alterações

•Podem ser linkadas a outros componentes (casos de uso

em Wiki, atividades, fóruns, alterações,etc.)

•Documentação de software baseada em Wiki permite

constante evolução do conteúdo acompanhando as etapas

de desenvolvimento

Page 35: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com SVN

O Trac também funciona como um browser do

repositório do Subversion (SVN), permitindo a

visualização de diretórios, logs de mudanças,

diferenças entre revisões e revisões específicas

dos arquivos armazenados.

A interface para o repositório é, por si só, já é um

motivo para se usar o Trac num projeto, mesmo

que outro software seja escolhido para o controle

de mudança.

Page 36: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com SVN (Estrutura de diretórios do repositório)

Page 37: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com SVN (Log das revisões mais recentes do projeto)

Page 38: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com SVN (Diferença entre duas revisões de um arquivo)

Page 39: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com SVN (Código fonte de uma revisão específica de um arquivo)

Page 40: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Notificação de novas atividades

Page 41: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Pesquisas por tipo de atividade e detalhe de ticket

Page 42: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Detalhe de Pesquisa de atividades

Page 43: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Histórico de alterações de um artefato

Page 44: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Comparação entre versões diferentes de um artefato

Page 45: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Todas ações do repositório disponíveis em um menu de contexto

Page 46: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Synchronize – Compara cópia local com repositório

Page 47: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Comita alterações, atualiza % e credita horas trabalhadas

Page 48: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Comita alterações, fecha atividade e credita horas trabalhadas

Page 49: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Detalhe do ticket com as horas computadas

Page 50: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Detalhe das horas creditadas ao ticket

Page 51: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com DreamWeaver(Desenvolvimento PHP)

Todas ações do repositório disponíveis em um menu de contexto

Page 52: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com DreamWeaver(Desenvolvimento PHP)

Histórico de alterações de um artefato

Page 53: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Integração e Automação

Integração com DreamWeaver(Desenvolvimento PHP)

Comita alterações, fecha atividade e credita horas trabalhadas

Page 54: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Acompanhando a evolução do projeto

O Trac também possibilita o acompanhamento da evolução

do projeto.

Essa informação é obtida principalmente através da análise

dos tickets (número, estado, associação com milestones

etc.) e é disponibilizada em diversas formas.

Page 55: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Acompanhando a evolução do projeto

O TracRoadmap apresenta uma barra de progresso para cada marco do

projeto (milestones) indicando a relação entre os tickets ativos e resolvidos

do marco.

Page 56: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Acompanhando a evolução do projeto

O TracTimeline apresenta uma lista de eventos (relacionados a páginas wiki,

tickets, mudanças no repositório e marcos de projeto) em ordem

cronológica, uma breve descrição de cada evento e a pessoa responsável.

Cada evento possui um link para uma descrição mais detalhada do evento

específico.

Page 57: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Acompanhando a evolução do projeto

Vários módulos do Trac suportam RSS (Really Simple Syndicatrion), o que

permite monitorar facilmente o progresso do projeto, de um conjunto de

mudanças ou mesmo de um único arquivo.

Page 58: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Acompanhando a evolução do projeto

O Trac possui um módulo de criação de relatórios para fornecer diversas

informações sobre os tickets do projeto. Os relatórios são baseados em SQL

SELECT e algumas convenções de nome, o que permite grande flexibilidade

e algumas formatações tais como de cores e quebras de linha.

Page 59: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Métricas

Métricas são importantes ferramentas de apoio ao

gerente de projetos, pois fornecem um conjunto de

informações tangíveis para planejar, realizar

estimativas, gerenciar e controlar os projetos com maior

precisão.

No Trac, uma série de ferramentas internas possibilitam

acompanhar as métricas do desenvolvimento do projeto

em tempo real, se tornando assim uma ferramenta

gerencial estratégica.

Page 60: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Métricas

Tela inicial do projeto com gráfico burndown e gráfico de esforço

Page 61: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Métricas

Roadmap, detalhando os milestones (marcos) e o andamento de cada um

Page 62: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Métricas

Controle de Horas: Horas por Projeto

Page 63: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Métricas

Controle de Horas: Horas por Membro da Equipe

Page 64: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Métricas

Controle de Horas: Horas de um Membro da Equipe

Page 65: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Métricas

Controle de Horas: Detalhamento de Horas de um ticket (atividade)

Page 66: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Métricas

Tickets por status, Estatísticas por Milestone (Marco) e do repositório SVN

Page 67: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Métricas

Produtividade geral, demanda de serviços x entrega, estatísticas de tickets

Page 68: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Métricas

Estatísticas por Milestone (Marco)

Page 69: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Métricas

Calendário de Tickets

Page 70: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Métricas

Gráfico de Gantt

Page 71: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Ferramentas Auxiliares

Dependência entre tickets (atividades)

Page 72: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Ferramentas Auxiliares

Personalização do WorkFlow do Processo de Software

Page 73: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Segurança

Controle de acesso a funcionalidades organizado por papéis

Page 74: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Segurança

Gestão centralizada de usuários

Page 75: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Segurança

Integração com Active Directory (AD) do Windows

Page 76: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Ferramentas Auxiliares

•Backup automatizado dos Projetos SVN

•Backup automatizado dos Projetos TRAC

•Testes realizados mostraram que uma possível

recuperação de dados pós desastres pode ser

feita em menos de 1 hora para um projeto

completo.

Page 77: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Considerações Finais

O conjunto formado pelo Subversion e Trac apresenta uma

alternativa para atender às necessidades de Gerência de

Configuração relativas à Controle de Versão e Controle de

Mudanças, apresentando baixo custo e qualidade.

A utilização de atividades e ferramentas de apoio ao

desenvolvimento de software não é mais um diferencial, e

sim uma necessidade básica.

As características das ferramentas representam uma

oportunidade de mesmo com restrições de recursos

humanos atingir melhores resultados e ao mesmo tempo

reduzir custos operacionais.

Page 78: Gerenciamento de Configuração e Mudanças com TRAC e SVN

Leandro Silva Ferreira Analista de Sistemas

Itil – Scrum Master [email protected]

www.i9web.com.br