Announcing Microsoft Visual Studio Scrum 1.0

Today we’re releasing the first official version of our latest process template – Microsoft Visual Studio Scrum 1.0 (formerly known as Team Foundation Server Scrum v1.0 Beta).   If you were following the beta, you know that this template was built from the ground up specifically for Scrum teams. 

Visit the Visual Studio Gallery to download the template.  John Bristowe has put together a great post on how to install the template.  Below I’ve taken some time to describe what’s changed since the beta and also outlined a few of the key concepts/artifacts in the template.

Q: What’s changed since the beta?

A:  There are no drastic changes between this release and the beta, but there are a few things worth mentioning.  For those that were on the beta I’ll do my best to describe in detail why the changes were made.

  • We’ve released a first cut at the process guidance for the template on MSDN.  The content is still evolving, but the basics are in place and ready for consumption.
  • The Owned By (Microsoft.VSTS.Common.OwnedBy) field that existed on ALL work item types in the beta and which was used to assign ownership of work items has been removed and replaced with the Assigned To field (System.AssignedTo).  We originally chose the Owned By field because in Scrum work is not “assigned”… and we wanted to use terminology and language that matched Scrum lingo.  This was a tough one for us to revert, but in the end we found that NOT using the System.AssignedTo field (which is the default for every other work item) was going to provide more pain around integrating with other clients, tools, and partner solutions.  
  • The DefaultTemplate build definition has been modified to NOT open bug work items on build failures.  Why?  Because the template expects that defects found that relate to work in the current sprint should be added to the Sprint Backlog as Tasks work items.  This is done by adding new Task work items OR re-opening Task work items already marked as Done.   Defects found that relate to work outside the current sprint are added to the Product Backlog as Bug work items.  The philosophy here is that ALL new work needs to come to the team through the “front door” (the Product Backlog in this case).  Because build failures likely relate to work in the current sprint we chose to change the behavior so as not to clutter up the Product Backlog with work for the team. 
  • A new priority field has been added to the Impediment work item to allow teams to prioritize and order impediments more easily.
  • New transitions have been added to the Task work item to allow Tasks to move forward and backwards through the state lifecycle.  You can now take a take a task from To Do –> In Progress –> Done, and also from Done –> In Progress –> To Do.
  • Both the Product Backlog Item and Bug work items have been modified such that you can now move a Product Backlog Item or Bug from the Removed state back to the New state.  This was in response to feedback that “Product Owners often change their minds and we don’t want to have to create new work items each time that happens.”
  • A new Test Cases query was added to the Current Sprint folder.
  • And finally, a series of small text improvements were made to work item type reasons. 

Q: Why did Microsoft decide to build a Scrum template? I thought MSF Agile 5.0 was Microsoft’s answer to Scrum?

A:  The short answer here is… you told us that you wanted both of them.  We have customers that want a generic Agile template that can be used to implement Scrum and other Agile methodologies.  MSF Agile 5.0 does this very well.  At the same time, we have many customers that want a very prescriptive Scrum template that matches strictly to the Scrum literature.   Enter Microsoft Visual Studio Scrum 1.0.

Q: Did Microsoft work with Agile thought leaders when building this template?

Absolutely.  We worked closely with a group of Scrum experts and trainers teaching the new Professional Scrum Developer Program including Ken Schwaber from https://www.scrum.org.   It was very important to us that this template be recognized by the community (you) as a great option for Scrum teams.   The Professional Scrum Developer Program is taught with Microsoft Visual Studio Scrum 1.0.

Q: How is the Sprint work item intended to be used?

A:  The Sprint work item is intended to capture the sprint dates, sprint goal, and sprint retrospectives.  Because TFS does not have a method for storing dates on iterations, we chose to create a Sprint work item that allows you to capture sprint dates and other sprint data directly in a work item.  You can see in the screenshot that the Release 1\Sprint 1 work item is mapped directly to the Release 1\Sprint 1 iteration.  When you create a new project with TFS Scrum v1.0 by default the project is provisioned with 24 sprint work items and 24 matching iterations. 

image

Release 1:  Sprint 1-6

Release 2:  Sprint 1-6

Release 3:  Sprint 1-6

Release 4:  Sprint 1-6

With this model, you have both Sprint work items AND iterations… the trick is that you should have only one Sprint work item for each iteration that you create.   For example, if you created a new iteration named Release 4\Sprint 7 you would want to create a new Sprint work item and assign it to Release 4\Sprint 7.  The dates for this new Sprint would be entered directly on the Release 4\Sprint 7 Sprint work item.

The advantage to this approach is that when you’re working with reports in the template you don’t have to enter dates.  Instead, you just select the Sprint(s) that you’re interested in viewing.  The dates are read directly from the Sprint work item and used in the reports.

Q: What about the Iteration Backlog and Product Planning workbooks from the MSF Agile 5.0 process template?  

A:  At this time we have not ported over the Agile planning workbooks that shipped as a part of the MSF Agile 5.0 process template.  We are still talking about brining over some version of the Iteration Backlog workbook at aid in Sprint planning, but it is not included in the 1.0 version of the template.

Q: Can I move data from an existing project into a new project build from Microsoft Visual Studio Scrum 1.0?

A:   Yes.  You can use the TFS Integration Platform to create a mapping between any existing team project and a new project built with this template.