Agile

9 set, 2010

Planejando uma sprint utilizando o TFS 2010 com o template MSF for Agile 5.0

Publicidade

Olá, pessoal!

O Team Foundation Server é uma solução da Microsoft baseada em um
conjunto de produtos que trabalham integrados para proporcionar a
gestão do ciclo de vida de uma aplicação, oferecendo suporte para todo
o ciclo de desenvolvimento, incluindo colaboração, controle de
qualidade, integração contínua e informações estratégicas que resultam
em previsibilidade do projeto. Com um conjunto de mais de 15 relatórios
disponíveis, a partir de qualquer local você poderá tomar as decisões
antecipando os problemas. O TFS atende desde os projetos pequenos aos
muito grandes, inclusive com fornecedores diferentes e com desenvolvimento
distribuído.

Com o lançamento do Team Foundation Server 2010, a Microsoft deu um
grande salto para adoção de Scrum nos projetos de desenvolvimento de
software, oferecendo templates de processo nativos e suportados pela
própria Microsoft.

O MSF AGILE 5.0 passou a suportar os seguintes tipos de Work Items: User Story, Bug, Task, Issue, Test Case, Shared Steps, oferecendo os
recursos necessários para a implementação do SCRUM usando o próprio
template do Microsoft Solutions Framework.

Neste artigo veremos como podemos planejar uma sprint utilizando o TFS
2010 com o template MSF for Agile 5.0. Vou admitir que você já tenha
criado o team project com o template MSF for Agile 5.0.

O primeiro passo que devemos realizar é a construção do Product
Backlog. O product backlog é formado por uma lista de User Storys que
devem ser priorizadas do maior para o menor valor para o cliente, com a
finalidade de planejarmos e entregarmos primeiro as funcionalidades de
maior valor. Você pode ler mais sobre como criar um bom Product Backlog
aqui.

Dentro da pasta “Shared Documents” do seu Project Portal existe uma planilha chamada “Product Planning”, conforme figura abaixo:

Na primeira aba da planilha será apresentada a lista de User Storys, conforme abaixo:

Você pode cadastrar as User Storys diretamente na planilha e clicar
no botão Publish, para as alterações serem efetuadas no TFS. Cada User
Story deve ser medida em Story Points pelo time e deve ser selecionada
a iteração à qual pertence em “Iteration Path”. Você também pode criar
as User Storys no Project Portal clicando em New Work Item / User Story.

Na segunda aba da planilha “Product Planning”, temos a configuração
das iterações, nela informamos qual é a data de início e de fim de cada
iteração, e o tamanho do time. É exibido um gráfico com a velocidade do
time, conforme abaixo:

Temos ainda a aba Interruptions, onde podemos configurar feriados e
dias não trabalhados da equipe. Aqui configuramos as interrupções de
todo o time, também temos como configurar uma interrupção de um membro
específico do time dentro da planilha de planejamento da sprint que
será explicada a seguir.

O próximo passo é o planejamento da iteração. Na sprint planning o
time deve quebrar as User Storys em tarefas e estimá-las em horas.

No TFS para criar a Task você deve selecionar a User Story e clicar
no botão “Add New Linked Work Item”, selecione no campo Link Type a
opção Child, e escreva um título para a Task.

Você deve preencher os campos “original estimate”, “remaining” e
“completed” com a estimativa original em horas, o número de horas que
faltam e o tempo completo, respectivamente. Como a tarefa acaba de ser
criada, o “original estimate” e o “remaining” serão iguais e o completed
será 0. Assim que concluirmos a tarefa, devemos mudar o estado para
“closed” e preencher o campo remaining com 0 e o completed com o número
de horas que a tarefa levou para ser concluída. Você deve ainda
selecionar, em Iteration, em qual interação essa tarefa estará.

Depois de estimarmos todas as tarefas que irão na próxima sprint,
você deve configurar a planilha “Iteration Backlog.xlsm”. Ela deverá
ficar dentro da pasta shared documents\”Sua iteração”. Você pode copiar
essa planilha da pasta “Documents \ Samples and Templates \ Document
Template Iteration Backlog.xlsm”.

Abrindo a planilha na primeira aba “Iteration Backlog”, temos todas as tarefas que foram cadastradas para a iteração atual.

Na segunda aba “Settings”, configuramos  a data de início e de fim da iteração.

Na aba iterruptions, podemos definir interrupções específicas do membro do time.

Na terceira aba, “Capacity”, temos uma visão gráfica da alocação do
time. Podemos configurar quantas horas cada membro do time poderá
destinar à iteração e assim termos uma visão se será possível terminar
os itens selecionados dentro da sprint.

Quando algum membro do time estiver com muitas tarefas, podemos
voltar na aba Iteration Backlog e mudar o campo “Assigned To” para um
membro do time que tiver horas ociosas, mostradas em verde.

O objetivo desse gráfico é mostrar se o estimado está dentro do
possível, durante a sprint caso o time sinta necessidade poderão ser
alteradas as pessoas que irão executar as tarefas. Com as tarefas
balanceadas, o time pode dar início a sprint, alterando as tarefas para
“closed’ quando forem concluídas e o campo completed work com o número
total de horas gastas na tarefa e o remaining work para 0.