Visual Studio’s new Scrum 1.0 template is the perfect process template for agile managers. It combines a simple, flexible, and easy to use interface with powerful reports and work item types to help manage scrum-based projects.
The release of Visual Studio 2010 in April 2010 marked major changes to the popular development suite. Formerly referred to as Visual Studio Test System (VSTS), the suite was re-branded as Visual Studio Application Lifecycle Management (ALM). A key component of the suite is Team Foundation System (TFS) that provides a set of integrated tools for tracking source code changes, collecting data, managing projects, and reporting progress in a collaborative team environment.
One new feature of Team Foundation System is certified process templates. Process templates are used to drive the software development lifecycle. The certification program enforces a new standard for high quality templates that are not harmful, implement appropriate features, and include both training and customer support. The Visual Studio Scrum 1.0 template is a certified template used to help teams implement the scrum methodology within Visual Studio.
Scrum provides a framework to develop complex products and is an agile methodology. It employs an iterative, incremental approach to help optimize predictions and control risk. Scrum teams drive the scrum process. The ScrumMaster ensures the process is understood and followed. The Product Owner ensures the team provides value to the business users. The Team does the actual scrum work.
Scrums are broken into “time-boxes” to help manage predictability and control risk during the project. A product release is broken into smaller sprints, and each sprint includes a daily scrum meeting. A product backlog of all desired features is used to drive releases, and certain items are moved into the sprint backlog for specific sprints. Burndown reports then track the progress of items within sprints and releases, and supply a velocity measurement that indicates how fast the team can tackle backlog items.
The Visual Studio Scrum 1.0 Template provides first-class support for scrum-based projects within Visual Studio ALM. It includes scrum-based work item types such as sprint, product backlog item, bug, task, impediment, and test case. It also introduces several scrum reports: release burndown, sprint burndown, and velocity.
Setting up the Field of Play
To get started with the Visual Studio Scrum 1.0 Template, navigate to the Visual Studio gallery online at:
And search for “Microsoft Visual Studio Scrum 1.0.” An alternate way to find this is to navigate into the Process Template Manager and click the “Download additional Process Templates online” link.
Use the link to download the template. There are two steps to install the template, and both should be performed on the machine that is running the Team Foundation Server. The first is to import the process template. To do this, navigate from the Team tab to “Team Project Collection Settings” and the “Process Template Manager.”
From the process template manager, you can then click the “Upload” button and navigate to your template on disk to upload it.
Once the template is updated, there is an additional step to integrate with SharePoint server. Follow the instructions provided in the template.
You’re probably eager to get started. The first step is to create a new team project that uses the Scrum template. In the “Create New Team Project” wizard, you can select the process template on the second dialog:
Once your new project is created, you’ll notice a new structure is available under Team Queries:
If you click on “All Sprints” you’ll find that a work item of type “sprint” is created for all iterations in the project. This is something specific to the Scrum template. If you change the name of an iteration item, be sure to change the name of the corresponding work item.
When you create new backlog options, you can now tie them to the specific sprint. The built-in reports that you will use to track the progress of the project will be able to view the relationships between backlog and sprints and categorize everything accordingly. You are even provided hints to help describe each item.
In keeping with the Scrum philosophy, the “effort” field is an open field that allows you to assign whatever value your team decides to use. Most teams choose to use “story points” instead of traditional “duration” to get a feel for the complexity of the item. The velocity reports help determine how much “effort” your team is able to provide in a given sprint.
The sprint backlog query will show outstanding backlog items for the current sprint. Once a sprint is complete, you will change this query to point to the next sprint. This is as easy as right-clicking the query and choosing the “Edit Query” option. In the resulting dialog, simply update the condition for the Iteration Path:
Use the Product Backlog query to find all backlog items that are not scoped to a specific sprint. You can then assign these items to the sprint as part of your sprint planning.
4th and Inches
As your project moves closer to the goal of a final deliverable, you can use the new reports to track success. The Sprint Burndown shows progress against the current sprint, while the Release Burndown gives the higher level view for the entire release. The reports answer the questions of how much work remains and if the team is on track to finish.
The Velocity report displays how much effort, on average, your team is able to satisfy for each sprint. This will help you plan how many backlog items may be allocated to future sprints.
Scrum is an agile methodology. The “Agile Manifesto” focuses on individuals and interactions over processes and tools, work software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan (read the full manifesto online at: http://www.agilemanifesto.org/). The Scrum 1.0 template combined with Visual Studio ALM will empower your team to reach those goals using a very powerful, integrated toolset that is easy to install, use, and maintain.
About the author
Jeremy Likness is a Microsoft Silverlight MVP who works as Project Manager and Senior Consultant for Wintellect with 15 years of experience developing enterprise applications. He has worked with software in multiple verticals ranging from insurance, health and wellness, supply chain management, and mobility. His primary focus for the past decade has been building highly scalable web-based solutions using the Microsoft technology stack with a focus on Silverlight since version 2.0. Prior to Wintellect, Jeremy was Director of Information Technology and served as development manager and architect for AirWatch, LLC, where he helped the company grow and solidify its position as one of the leading wireless technology solution providers in the United States by managing the development of their product portfolio that includes public HotSpot solutions and a management console for enterprise grade wireless networks, mobile devices, and their consumers. A fluent Spanish speaker, Jeremy served as Director of Information Technology for Hispanicare, where he architected a multi-lingual content management system for the company's Hispanic-focused online diet program.