View
113
Download
0
Category
Preview:
Citation preview
www.venturus.org.br
Gerenciando Projetos Ágeis com TRAC/Agilo
Palestrante
• Rodrigo Costa Leite - Venturus (Formado em Análise de Sistemas pela
Universidade Salesiana de São Paulo, UNISAL de Americana. Trabalha no
Venturus – Centro de Inovação Tecnológica, tendo atuado como Analista de
Requisitos, Arquiteto e Scrum Master.
• É membro do EPG da empresa e sempre busca agilizar e otimizar os processos
com auxílio de ferramentas.
• Possui as certificações SCJP (Sun Certified Java Programmer), SCWCD (Sun
Certified Web Component Developer), SCBCD (Sun Certified Business Component
Developer) e CSM (Certified Scrum Master).
• Atualmente cursa o MBA de Gerenciamento de Projetos pela FGV.
TRAC
• Trac é uma ferramenta open source e de interface web para controle de atividades e mudanças em projetos de desenvolvimento de software.
Quem usa o TRAC
Algumas empresas que usam o TRAC:
•Laboratório de Propulsão a Jato da NASA•PriceWaterHouseCoopers•Nokia•Universidade da Califórnia (UCSD)
Recursos do TRAC
• Controle de atividades e bugs através de tickets;
• 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;
• Integração com Jenkins;
• Acompanhamento da evolução do projeto;
• Personalização do processo de desenvolvimento;
• Permite o controle de vários projetos em um mesmo ambiente;
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;
• Relatórios estatísticos e gráficos que permitem visualizar as
métricas de software desenvolvido
• Não há limitação de usuários cadastrados
Agilo
Agilo é um plugin para o TRAC que o transforma em uma ferramenta para
se trabalhar com projetos ágeis. É feito pela empresa Agile 42.
Agilo
Desafios em um projeto
• Documentação de requisitos
• Organizar atividades do time
• Controlar versão dos artefatos de software produzidos
• Controlar mudanças e rastreá-las
• Gerar baselines e release notes
• Controlar a evolução do produto no projeto
• Auditorias de qualidade
• Integrar tudo isso!
TRAC sem Agilo
Trac sem Agilo é meramente uma ferramenta de bugtracking.
TRAC com Agilo
Trac com Agilo se transforma em uma ferramenta para se trabalhar com
projetos ágeis.
TRAC com Agilo no Venturus
Criação de um time no TRAC
O Trac/Agilo permite a criação de diversos times, indicando a capacidade
semanal.
Criação de um time no TRAC
• Cadastro de cada membro de um time.
Criação de um time no TRAC
• Informações detalhadas do membro de um time.
Criação de um time no TRAC
• Capacidade máxima semanal do membro de um time.
Milestones + Roadmap
• Definição de “marcos” no projeto e como controlá-los
Milestones + Roadmap
• Exibição de Roadmap agrupado pelos milestones
Tudo no TRAC é feito através de Tickets
• O Trac permite a criação de diversos tickets customizados (requirements,
users stories, tasks, etc.), no entanto, tudo para ele não passa de tickets.
• Possui os seguinte tickets default:
• Requisitos
• User Stories
• Tasks
• Bugs
• O Venturus criou os seguintes tickets:
• REQ Task
• CM Task
• QA Task
• Change Request Task
REQ Task (Requirement Analyst task)
• Tarefa onde o Analista de Requisitos registra tudo o que ocorre com ele
em um Sprint. Desde o levantamento dos requisitos com o cliente ou o
com o Product Owner até as conversas e esclarecimento de dúvidas.
• É o Facebook dele.
REQ Task (Requirement Analyst task)
• Tela de relatório das tarefas do Analista de Requisitos.
REQ Task (Requirement Analyst task)
• Log ou “Posts” do Analista de Requisitos.
CM Task (Configuration Manager task)
• Tarefa de solicitação de pedidos de gerência de configuração ao pool de
CMs. Solicitação de criação de repositórios SVN, criação de CM Plan,
geração de baselines e outras atividades relacionadas à gerência de
configuração.
CM Task (Configuration Manager task)
• Tela de relatório das tarefas de Gerência de Configuração.
QA Task (Quality Analyst task)
• Tarefa de solicitação de auditorias de qualidade no projeto. Aqui envolve
pedidos desde criar Quality Plan, auditar uma baseline até a averiguação
de aderência do processo da empresa no projeto.
QA Task (Quality Analyst task)
• Tela de relatório das tarefas de Auditoria de Qualidade.
Backlogs
• Permite a criação de diversos backlogs segundo a necessidade da
empresa.
Backlogs
• Permite a customização de quais campos devem ser mostrados no
backlog.
Criação de Requisitos
• Requisitos e User Stories são formas diferentes de se obter as
necessidades do cliente.
• O Trac trabalha sendo o Requisito uma unidade macro do produto e as
User Stories unidade menores originadas do Requisito.
• Trabalha com o hierarquia Requisito -> User Story -> Task.
Criação de Requisitos
• Permite a criação de requisitos, sendo customizável os campos que
devem ser preechidos.
Criação de Requisitos
• Detalhes do requisito criado.
Criação de User Stories
• Permite a criação User Stories, essas sendo unidades menores de um
requisito.
• Pode se criar a User Story de dentro do Requisito e com isso já cria a
associação entre eles.
• Pode se criar a User Story isoladamente e depois associar ao Requisito.
Criação de User Stories
• Criação de uma User Story de dentro de um Requisito.
Criação de User Stories
• Criação de uma User Story de forma isolada.
Criação de User Stories
• Exibição de User Stories associadas ao Requisito.
Sprints
• Criação de Sprints e associação com times.
Sprints
• Detalhes da criação de um Sprint.
Sprints
• Exibição do estados de um Sprint controlado pelo Trac.
Criação de Tasks
• Permite a criação Tasks, essas sendo ações necessárias para a
construção do produto.
• Pode se criar a Task de dentro da User Story e com isso já cria a
associação entre elas.
• Pode se criar a Task isoladamente e depois associar à User Story.
• As estimativas obtidas pelo Planning Poker são informadas nos campos
Planned Time e Remaingin Time da Task.
Criação de Tasks
• Criação de uma Task de dentro de uma User Story.
Criação de Tasks
• Criação de uma Task de forma isolada.
Criação de Tasks
• Exibição da Task associada à User Story.
Sprint Backlog e Gráfico Burndown
• Tela que exibe o Sprint Backlog com as User Stories e Tasks que
deverão ser desenvolvidas no Sprint.
Sprint Backlog e Gráfico Burndown
• Exibição do gráfico de Burndown no Sprint Backlog.
Sprint Backlog e Gráfico Burndown
• Estados do gráfico de Burndown durante o sprint:
• Verde: sprint em dia
• Amarelo: atenção!
• Vermelho: sprint em atraso.
Capacidade do Time VS User Stories
• Verificação da capacidade do time no Sprint Vs quantidade de horas
planejadas nas User Stories para serem queimadas.
Capacidade do Time VS User Stories
• Detalhe da disponibilidade diária de cada membro do time e a soma da
capacidade do time para o Sprint.
Capacidade do Time VS User Stories
• Commitment do time na qual verifica que sua capacidade é igual ou
superior à quantidade de User Stories a serem queimadas.
Máquina de estados customizada
• Máquina de estados customizada conforme necessidades da empresa.
• Membro do time quando pega uma Task para ser desenvolvida, associa
seu nome e muda o estado do task.
Máquina de estados customizada
• Máquina de estados do Venturus.
Lançamento de horas
• Diariamente os membros do time informam quantas horas foram
trabalhadas nas tasks (Worked Time) e quantas horas ainda são
necessárias para a finalização das tasks (Remaining Time).
• Porquê Worked Time?
Relatórios de Acompanhamento
• Relatórios que mostram a evolução dos Requisitos/User Stories em um
Sprint.
Relatórios de Acompanhamento
Relatórios de Acompanhamento
• Relatório de planejamento de Requisitos vs o que foi trabalhado até o
momento.
Relatórios de Acompanhamento
• Relatório de total de horas planejadas em um Sprint vs a capacidade do
time.
Relatórios de Acompanhamento
• Exemplos de Relatórios de total de horas planejadas em um Sprint vs a
capacidade do time.
Evolução do progresso dos requisitos
• Exibe as relações de horas planejadas vs o que já foi trabalhado.
Evolução do progresso dos requisitos
Evolução do progresso dos requisitos
• Tabela REstimate para definição do tamanho do Requisito conforme seu
grau de dificuldade.
Integração com SVN
• Subversion ou SVN é um sistema de controle de versão opne source.
• Atua no gerenciamento de arquivos e diretórios e as mudanças 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 rotulagem
(tagging).
• Com a integração os commits (ou check-ins) só podem ocorrer quando
informado uma task do TRAC. (Importante para a Matrix de
Rastreabilidade)
• Todas alterações podem ser vistas através da tela de Changeset.
Integração com SVN
• Exibição da tela de Changeset (Browser Source)
Cada commit gera duas ações
• Geração de build automática no Jenkins
• Atualização da Matrix de Rastreabilidade
Integração com Jenkins
• Permite integração com Jenkins (integração contínua)
Matrix de Rastreabilidade bidirecional
• Rastreabilidade bidirecional que vai do Requisito até o código fonte e
vice-versa.
Matrix de Rastreabilidade bidirecional
Requisito – User Story - Artefato
Artefato – User Story - Requisito
Matrix de Rastreabilidade bidirecional
Integrações em Baselines e Release Notes
• Relatório de tasks e bugs em estado “done” prontas para serem testadas.
Integrações em Baselines e Release Notes
• Relatório de tasks e bugs em estado “done” prontas para serem testadas.
Integrações em Baselines e Release Notes
• Relatório de Release Notes das baselines.
Integrações em Baselines e Release Notes
• Relatório de Release Notes das baselines.
Criação de Change Requests
• Permite o controle de mudanças através de Change Requests.
Criação de Change Requests
• Relatório de Change Requests.
Criação de Change Requests
• Detalhes de uma Change Request.
Wiki• Software para edição colaborativa do conteúdo de um documento que fica
disponível a qualquer momento através de um navegador web.
• Time compartilha estudos, resolução de problemas e demais informações
relevantes ao projeto.
Segurança
• Controle de acesso a funcionalidades organizado por papéis
• Gestão centralizada de papéis
• Integração com LDAP e Active Directory (AD)
Dúvidas?
Recommended