Upload
leandro-silva-ferreira
View
2.649
Download
1
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
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.