Getting started with Scrum for Team System
I’ve written the below blog post to help people new to scrum get started with the Scrum for Team System process template. It will take you through setting up a simple project, creating user stories, creating tasks and working through a sprint.
Pre-requisites:
In order to continue with this guide you will need:
- A Team Foundation Server (TFS) 2008 environment (including WSS 3.0)
- Installed the latest Scrum for Team System process template (at time of writing, the current version is 2.1).
Creating a new team project:
- Open Team Explorer
- Connect to the target TFS
- Right-click on the server name (in team explorer)
- Select “New Team Project” from the context menu
- Enter the name of the new project. Example “MyFirstSfTSProject” *
* Note: The current version of SfTS contains a bug that stops the project portal displaying a list of reports if the project name contains spaces.
- Select “Agile Software Development with Scrum- v2.1.13952.002”
- Click the “Finished” button and wait for the project to be created.
Exploring the new team project:
Once the new team project is created you can use Team Explorer to traverse the new projects’ artefacts. Here are some of the things you get by default.
- Work item templates:
The project provides you with work item templates so that you can create your backlog and associated tasks. The main work items are:
- Sprint:
This work item allows you to set the sprint information.
- Product Backlog Item:
This work item represents a user story on the product backlog.
- Bug:
A work item that represents a bug on the backlog list.
- Sprint Backlog Item:
This work item represents a task and should be associated to a user story (or bug). More on this below.
- Project Portal:
The project portal can be accessed by right clicking on the project name in Team Explorer and selecting “Show Project Portal” from the context menu. The project portal enables you to view reports, add wiki information and set up global lists (more on this below).
- Work Item Team Queries:
The default template gives you a suite of pre-defined queries to allow you to view existing work items.
- Reports:
An extensive suite of reports is installed. The reports allow you to view current and historical work item data. The report suite is soon to be extended to include Build, code coverage and several other reports.
- Sprints:
By default, the project will contain a collection of sprints. Sprints are built upon an iteration path in the style of “Release Number” \ “Sprint Name”. The default sprint work item objects do not have any start and end dates, so will need to be set up before we can start using them. You can view a list of the sprints by using the “All Sprints” team query.
See the following process guidance section for more information: http://scrumforteamsystem.com/processguidance/v2/Artefacts/Artefacts.as
Project initial set up:
Now that we have an empty project, we need to set up a few global parameters.
- Global Lists:
The project portal allows us to define two global lists; Teams and Environments. Let’s add 2 new teams:
- Open the project portal web site
- Select the “Team Project Administration” tab.
- In the text field directly below the “Team (Scrum)” text; enter “Team A”
- Click the adjacent “Add” button.
- Enter “Team B”
- Click the “Add” button again.
- Finally click the “Save Lists” button to commit your changes back to the project definition.
- You have create a global list that contains two team names; “Team A” and “Team B”
- Sprints:
In this demo project we will only need one sprint. Follow the below instructions to set up the project sprints:
- Within Team Explorer; execute the “All Sprints” Team query.
- Select the first sprint (iteration path: MyFirstSfTSProject\Release 1\Sprint 1).
- Enter 200 in the “Capacity” field.
- Enter today’s date as the “Sprint Start Date”.
- Enter today’s date plus two weeks in the “Sprint End Date”.
- Save the sprint work item.
- Now set the “State” of all the other unwanted sprint items to “Deleted”.
- Project Team Members:
Next up, we need to add some team members to the project:
- Right click on the project name in Team Explorer and select: Team Project Settings / Group Membership
- In the “Project Groups on MyFirstSfTSProject” dialog, select the “Project Administrators” groups and click the “Properties” button
- In the “Team Foundation Server Group Properties” dialog, add some team members from active directory and click the “OK” button.
- The project is now ready for the user stories.
Create the user stories:
We need to create some user stories to work on and assign them to our sprint. The following steps detail how this is accomplished:
- Create a new “Product Backlog Item” (PBI). See the following process guidance section for more information on how to do this:
http://scrumforteamsystem.com/processguidance/v2/Artefacts/ProductBacklog/UsingTeamExplorerWithTheProductBacklog.aspx
- In the new PBI; set the title to equal “My PBI Number 1”
- Set the “Release and/or Sprint” to: “MyFirstSfTSProject\Release 1\Sprint 1”
- Enter “1” for the “Estimated Effort”
- Select “Team A” for the “Team”
- Enter “100” for the “Business Priority”
- Save the work item.
- Repeat this process 3 more times, alternating the “Team” (between “Team A” and “Team B” and reducing the “Business Priority” by “10” each time.
- You have now created 4 users stories, assigned 2 to each team and added them to the “Release 1\Sprint 1” sprint.
Creating the Sprint Tasks:
Next up, we need to create some sprint tasks, associate them to the user stories and assign them to the team members.
- Create a new “Sprint Backlog Item” (SBI). See the following process guidance for more information:
http://scrumforteamsystem.com/processguidance/v2/Artefacts/SprintBacklog/CreatingNewSprintBacklogItems.aspx
- In the SBI edit pane, set the title to “My SBI Number 1”.
- Set the “Sprint” to equal “MyFirstSfTSProject\Release 1\Sprint 1”.
- Set the “Estimated Hours” to equal “4”.
- Select “Team A” from the “Team” dropdown list.
- Select one of the Team Members (defined in the project initial set up) from the “Owned By” dropdown list.
- Open the “Links” tab and click the “Add” button.
- Either, enter the ID of the first PBI or click the “Browse” button to open the “Choose Related Work Item” dialog and use the “All Product Backlog Items” query to find the required PBI. (See the below notes for a
linking short cut)
- Save the SBI.
- Repeat this process 3 times for each of the 4 PBIs previously created.
- You have now created the Sprint Tasks, assigned them to team members and associated them with the parent PBI.
Notes on work item linking:
SBIs must be linked to a single PBI (or Bug). Linking a SBI to multiple PBI’s will stop the automated “Work Remaining” calculation process from working.
If you right click on a PBI item and select “Add Related Work Item” / “Sprint Backlog Item” from the context menu. The linkage between the PBI and SBI is automatically created without the need to traverse the linking dialogs.
What Now?
We now have a create and populated a Team Project. The project contains a single sprint, 4 user stories each of which have 4 sprint tasks. This is the basics of the Scrum for Team System process template. The next part of the process would be working through the sprint backlog, adjusting the sprint backlog item state as needed reducing the work remaining until a “Done” state is reached.
I hope you have found this introduction to the Scrum for Team System process template useful. For more information please review the extensive process guidance (http://scrumforteamsystem.com/processguidance/v2/ProcessGuidance.aspx) written in collaboration between Ken Schwaber and Colin Bird.
If you have any questions or observations, please visit the Scrum for Team System community forum.
http://scrumforteamsystem.com/cs/forums/