Creating a Team Project using the Scrum Template
In TFS, a Team Project is a logical container that stores artifacts such as Work Items, code, builds, and releases. Different Teams follow different processes to organize, manage, and track work. TFS allows process specification via Process Templates. The Scrum, Agile, and CMMI template are offered out of the box. The Process Template defines the set of Work Item types, queries, and reports that can be used to plan and track the project. In this recipe, you'll learn how to create a new Team Project using the Scrum Template.
Getting ready
Team Projects cannot be created from the Team Portal; in this recipe, we'll be using Team Explorer to create a new Team Project. If you haven't already, connect Team Explorer to TFS. Refer to the Connecting to TFS using Team Explorer recipe for more information on how this can be done.
In order to create a new Team Project, you will need the following permissions:
- Create new projects permission: You inherit this permission by being a member of the Project Collection Administrators group. The Team Foundation Administrators global group also includes this permission.
- Create new Team sites permission: This permission is granted by adding the user to a SharePoint group with full control rights on the SharePoint site collection. You don't need this permission if you decide not to create a SharePoint site as part of the Team Project creation.
In order to use the SQL Server Reporting Services, you must be a member of the Team Foundation Content Manager role in Reporting Services.
Note
To verify whether you have the correct permissions, you can download the Team Foundation Server Administration Tool from CodePlex available at https://tfsadmin.codeplex.com/. TFS Admin is an open source tool available under the Microsoft Public license (Ms-PL).
How to do it...
- Open Visual Studio 2015 and connect Team Explorer to TFS:
- From the Projects and My Teams submenu, click on New Team Project.... This will bring up the new Team Project creation wizard:
- Enter the Team Project name and description, and click on the Next button:
- Select the Scrum Process Template and click on Next. This is possibly the single most important decision you make as part of the Team Project creation process. Learn more about the differences between Process Templates at https://msdn.microsoft.com/library/vs/alm/work/guidance/choose-process.
- Choose the Create a new SharePoint site option. Click on Configure... to specify the location for the new site. If you do not have SharePoint integration, chose the option to not configure a SharePoint site.
- This source control selection screen presents the second most important decision that you'll be asked to make as a part of the Team Project creation process. TFS supports both centralized (TFVC) and distributed (Git) source control systems. In Chapter 2, Setting Up and Managing Code Repositories, we'll go deeper into both source control types. Choose Team Foundation Version Control and click on Next:
- Once you have reviewed the settings, click on Finish to start the Team Project creation process:
- Once the Team Project creation completes, you'll see a completion status on the form. Click on the View the team project creation log hyperlink (we'll discuss the contents of logs in the How it works… section).
- Team Explorer is now updated with the details of the newly created Team Project:
How it works...
The Process Template defines the set of Work Item types and reports that will be used to plan and track the project. The Process Template also applies the Work Item workflows and state transitions. Let's look at how the out-of-the-box templates differ broadly from one another:
- The Scrum Template is designed to support the Scrum framework as defined by the Scrum organization. This Process Template tracks bugs at the same level as Product Backlog items and tracks estimates using an Effort field.
- The Agile Template is designed to support Agile development for Teams that don't want to be restricted by Scrum. It supports estimating User Stories by using Story Points. Tasks contain fields to track the Original Estimate, Remaining, and Completed work fields. While originally the Agile Template didn't allow bug tracking on any backlog page, this can optionally be configured through Team settings in Team Portal.
- The CMMI Template is designed to support formal change management processes. This template supports the estimated requirements using a Size field. Tasks contain fields to track original estimate, remaining, and completed work fields.
The out-of-the-box templates are designed to meet the needs of most Teams. All of them support using the Agile planning tools to create the Product Backlog and work in sprints with the task board. If your Team has different needs, you can customize a template and then create the Team Project, or you can create a Team Project from a template and then customize the project.
You can download the Process Template by going into the Process Template Manager from the Settings view in Team Explorer. Refer to https://msdn.microsoft.com/Library/vs/alm/Work/guidance/manage-process-templates for further instructions on how to download the Process Template.
Open ProcessTemplate.xml
from the earlier download location; you'll note that it follows an XML structure that constructs a sequence of plugins and instructions for setting up the plugins. The Main Template is linked to sub modules that are defined by other XML structures. In the following representation, you'll see the correlation between these XML Templates and the instrumentation generated from the project creation workflow. Process Template customization is discussed in detail in Chapter 8, Extending and Customizing Team Foundation Server.
The following items are created for you as part of the Team Project creation process:
- Code Repository: A code repository based on your selection is provisioned.
- Team: A default Team with the same name as the Team Project is provisioned.
- Area Path: A default Area Path with the same name as the name of the Team is provisioned. The Teams backlog is configured to show Work Items assigned to this Area Path.
- Iteration Path: The set of iterations is precreated for the Team.
- Team Portal: The Team Portal allows the Team members to connect to TFS to manage source code, Work Items, build, and test efforts.
- Team Room: A room with the same name as the Team is provisioned. Team room is meant to be used for collaboration.
If your Team Foundation Server is configured to support SharePoint project portal and reporting, you'll see the Documents and Reports hub in Team Explorer. The Documents view offers deep integration with the SharePoint project portal. This allows you to create document libraries and organize and share documents with your Team members. The Reports view gives you a collection of precreated SSRS reports that you can use to track and manage the progress of work in your Teams: