gerenciamento de configuração e mudanças com trac e svn

Post on 31-May-2015

2.649 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

Gerenciamento de Configuração e Mudanças

TRAC e SVN

Gerenciando de forma integrada

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

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

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.

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

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;

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.

trac Integrated SCM & Project Management

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;

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

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

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;

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;

Estudo de Caso: Projetos GIPS

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.

Controle de Atividades

Abrindo um ticket

Controle de Atividades

Detalhe de um ticket já fechado

Controle de Atividades

Histórico de alterações no ticket

Controle de Atividades

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

Controle de Atividades

Rastreamento de mudanças

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;

Documentação e Base de Conhecimento

WIKI: Página Inicial Projeto

Documentação e Base de Conhecimento

WIKI: Editando uma página

Documentação e Base de Conhecimento

WIKI: Histórico de Alterações

Documentação e Base de Conhecimento

WIKI: Comparando Alterações

Documentação e Base de Conhecimento

WIKI: Exemplo de Caso de Uso

Documentação e Base de Conhecimento

WIKI: Exemplo de Caso de Uso

Documentação e Base de Conhecimento

WIKI: Editando um Caso de Uso

Documentação e Base de Conhecimento

WIKI: Base de Conhecimento

Documentação e Base de Conhecimento

WIKI: Base de Conhecimento

Documentação e Base de Conhecimento

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

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

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

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

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.

Integração e Automação

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

Integração e Automação

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

Integração e Automação

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

Integração e Automação

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

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Notificação de novas atividades

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Pesquisas por tipo de atividade e detalhe de ticket

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Detalhe de Pesquisa de atividades

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Histórico de alterações de um artefato

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

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

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

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

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Synchronize – Compara cópia local com repositório

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

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

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

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

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Detalhe do ticket com as horas computadas

Integração e Automação

Integração com Eclipse (Desenvolvimento Java)

Detalhe das horas creditadas ao ticket

Integração e Automação

Integração com DreamWeaver(Desenvolvimento PHP)

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

Integração e Automação

Integração com DreamWeaver(Desenvolvimento PHP)

Histórico de alterações de um artefato

Integração e Automação

Integração com DreamWeaver(Desenvolvimento PHP)

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

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.

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.

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.

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.

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.

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.

Métricas

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

Métricas

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

Métricas

Controle de Horas: Horas por Projeto

Métricas

Controle de Horas: Horas por Membro da Equipe

Métricas

Controle de Horas: Horas de um Membro da Equipe

Métricas

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

Métricas

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

Métricas

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

Métricas

Estatísticas por Milestone (Marco)

Métricas

Calendário de Tickets

Métricas

Gráfico de Gantt

Ferramentas Auxiliares

Dependência entre tickets (atividades)

Ferramentas Auxiliares

Personalização do WorkFlow do Processo de Software

Segurança

Controle de acesso a funcionalidades organizado por papéis

Segurança

Gestão centralizada de usuários

Segurança

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

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.

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.

Leandro Silva Ferreira Analista de Sistemas

Itil – Scrum Master leandrosilvaferreira@gmail.com

www.i9web.com.br

top related