Scrum com TFS 02 - Process Template

Quem já mexeu um pouco com TFS e pensou em utilizá-lo para apoiar uma equipe Scrum deve ter se deparado com a dúvida: Utilizar o MSF Agile 5.0 ou o Visual Studio Scrum 1.0.  Nesse post quero comentar um pouco sobre esse assunto salientando as principais diferenças entre os dois.

Uma parte de suma importância no Team Foundation server é o Process Template.

O process template basicamente define como será a estrutura e alguns dos artefatos do seu Team Project. Dentre os itens definidos no Process Template podemos destacar:

  • Os tipos de work item que estarão disponíveis no seu Team Project - Observe que eu me refiro aos tipos de work item, nao aos work items em sí. Podemos ter, por exemplo, Product Backlog Item, User Story, Requirement, Task, Bug, Issue, Risk e qualquer outro que seja importante no seu processo;
  • Podemos ter um conjunto de work items criados por padrão no momento da criação do Team Project;
  • As queries para visualizar work items que serão criadas por padrão no seu Team Project;
  • Os relatórios que serão disponibilizados no seu Team Project;
  • O template do portal do projeto no SharePoint;
  • Os grupos e permissões do seu Team Project.

Vários outros itens são definidos no Process Template. Esse é um assunto muito importante para quem quer entender o Team Foundation Server de verdade. Recomendo dar uma olhada na documentação: https://msdn.microsoft.com/pt-br/library/dd286521.aspx

O MSF Agile 5.0 é um dos process template que vem por padrão no TFS, após a instalação ele já estará disponível para utilização - Microsoft Solutions Framework for Agile Software Development 5.0 - https://msdn.microsoft.com/pt-br/library/dd380647.aspx.
O MSF Agile tem vários itens interessantes. Como o nome já diz ele é baseado em princípios de desenvolvimento Ágil, incluindo work items como User Story, planilhas para planejamento de iteração e outros recursos interessantes.
Nos relatórios podemos destacar o Burndown e o User Stories Overview:

 

Esse relatório é muito interessante porque mistura dados sobre horas executadas/restantes, execução de testes e status dos bugs. É um dos meus relatórios preferidos no MSF Ágil.

O outro Process Template que a Microsoft oferece é o Visual Studio Scrum 1.0. Nesse process template temos work items como Product Backlog Item, Spring, Task, Bug e outros. Temos alguns relatórios bem interessantes também, como, por exemplo, Release Burndown, Sprint Burndown e Velocity.

Vamos comparar os tipos de work items disponíveis nos dois Process Templates:

Visual Studio Scrum MSF Agile
Product Backlog Item User Story
Sprint   -
Task Task
Impediment Issue
Bug Bug
Test Case Test Case
Shared Step Shared Step

Já começa a ficar fácil de ver a diferença, né? O template do MSF Agile, embora possa ser utilizado para um time Scrum, ele não segue a nomenclatura do Scrum. Isso pode não parecer um problema, mas é.
Como sempre falam Scrum é simples, mas implementar Scrum é difícil. Exige muita disciplina e entendimento do Framework. Mudar os nomes que fazem parte da definição do Scrum não fazem bem em um processo de adoção. Isso pode muitas vezes mostrar uma falta de entendimento do framework.

Outro ponto importante, no work item de Product Backlog Item temos o campo Business Value. O foco no Scrum é entregar valor de negócio, por isso é importante definir Business Value nos itens do Product Backlog (vamos conversar mais sobre o Product Backlog no próximo post).

Para fechar sobre work items, no Visual Studio Scrum temos o work item de Sprint. Ele é muito importante e é um diferencial, pois nele temos a data de início e de fim de uma Spring. No MSF Agile temos o conceito de Iterações através do campo Iteration, porém esse campo não armazena a data de início e de fim, o que pode dificultar o acompanhamento de uma Sprint em alguns relatórios.

 Os dois pontos que ouço de maior reclamação sobre o template do Visual Studio Scrum são:

  • ele não tem os relatórios disponíveis no MSF Agile, e é verdade. Os relatórios disponíveis no Scrum são limitados ao que um time Scrum precisa acompanhar em um projeto, que é o Burndown da release e das Sprints e também a velocidade do time. Alguns outros relatórios sobre Build e Teste estão disponíveis, mas são poucos
  • ele não tem a planilha de planejamento disponível no MSF Agile.

Sobre os relatórios a recomendação seria analisar cada relatório e entender quais fazem sentido para um time Scrum e fazer as customizações necessárias para funcionarem no template Scrum. Essas customização envolvem copiar o relatório do template do MSF Agile, analisar os campos utilizados pelo relatórios, analisar os campos armazenados pelos work items no Visual Studio Scrum e então alterar os work items e relatórios para fazerem sentido.

Sobre alterar a planilha é relativamente fácil, embora não faça muito sentido para um time Scrum sair atribuindo tarefas, que é o objetivo da planilha: https://osnabrugge.wordpress.com/2011/05/04/use-the-msf-agile-workbooks-in-the-ms-scrum-template/

Quem quiser ler mais sobre essa comparação tem dois posts bem interessantes (em inglês) - https://blogs.technet.com/b/chrad/archive/2011/02/06/tfs-2010-msf-agile-vs-visual-studio-scrum-1-0-smackdown.aspx e https://blogs.technet.com/b/chrad/archive/2011/02/10/tfs-2010-msf-agile-vs-visual-studio-scrum-1-0-smackdown-planning-w-agile-part-ii.aspx

É isso aí, fica a pergunta - qual Process Template vocês utilizam?

Daniel Oliveira