Www.venturus.org.br Gerenciando Projetos Ágeis com TRAC/Agilo

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?