Launching a New Team Project
A team project is a central planning tool that you use to track information and to organize source code, builds, tests, plans for your team. You create a team project to provide a central point for your team to share activities that are required to develop a specific software technology or product. After you create a team project, you can manage and track work through the main nodes that were created for your team project.
The following table indicates the servers that must be provisioned in your Team Foundation deployment for you to provision your team project with the corresponding resource.
Windows SharePoint Services 3.0
Microsoft Office SharePoint Server 2007 or Microsoft SharePoint Server 2010 Standard Edition
Microsoft Office SharePoint Server 2007 or SharePoint Server 2010 Enterprise Edition
SQL Server 2008 Analysis Services
SQL Server 2008 Reporting Services
Team Foundation Build
Project portal (Documents node)
My Dashboard and Project Dashboard
As the (green-field) checkmark indicates, you can provision your team project with a Documents node and a portal for sharing information and storing Excel reports only if the project collection that hosts your team project is configured with a server that is running SharePoint Products.
As the (blue-field) checkmark indicates, you can provision your team project with dashboards only if your server is running a specific edition of SharePoint Products. The two basic dashboards require not only SQL Server 2008 Analysis Services but also Windows SharePoint Services 3.0, the Standard Edition of Microsoft Office SharePoint Server 2007, or the Standard Edition of SharePoint Server 2010. The enterprise dashboards require not only Analysis Services but also the Enterprise Edition of Microsoft Office SharePoint Server 2007 or the Enterprise Edition of SharePoint Server 2010.
To provision the Reports node, you must have configured the project collection that hosts your team projectwith both SQL Server 2008 Reporting Services and Analysis Services. Lastly, build processes for your team project require configuration of Team Foundation Build Service.
After you create your team project, you can add or configure resources that are noted as optional in the following table:
Work items and work item queries: A Work Items node appears for each team project that you create. Teams use work items to track, monitor, and report on the development of a product and its features. A work item is a database record that stores the definition, assignment, priority, and state of work.
Your team can create only those types of work items that are defined in the process template that is used to create the team project or types that are added to the team project after it is created.
The process template for Microsoft Solutions Framework (MSF) for Agile Software Development v5.0 defines six types of work items: user story, task, test case, shared steps, bugs, and issues.
The process template for MSF for CMMI Process Improvement v5.0 defines nine types of work items: requirement, task, change request, bug, issue, risk, review, test case, and shared steps.
Team queries and individual queries are stored under the Work Items node.
(Optional) Documents: A Documents node appears for your team project if you choose to create or configure a SharePoint site for your team project. This node is a container for Excel reports, process guidance, and other document libraries that your team creates. In addition, the SharePoint site can act as the project portal where your team can store and put under version control noncode work products and reports for your team project.
You can add a SharePoint site when you create a team project if your Team Foundation administrator has configured one or more SharePoint Web applications to support the team project collection in which your project resides. As an alternative, you can add a Web site to act as the team project portal after a project is created.
(Optional) Project portal: The project portal is a Web site that your team can use as a single point of information about the team project and its status. A project portal encourages members of your team to communicate and share resources. You also can use a portal to share process guidance with your team.
If you add a SharePoint site as the team project portal, a Documents node appears for the team project in Team Explorer. This folder is linked to the SharePoint library for the team project, and project members can use it to store and share documents that relate to the project. This feature is available only if you add a SharePoint site. If you add another type of Web site, no Documents node appears for the team project in Team Explorer.
Teams use the project portal to share document templates and predefined reports. These predefined objects are based on the process template that you select for your team project.
(Optional) Process Guidance: Process guidance provides information about how to coordinate work on a team project and how to use a type of work item in the overall project life cycle. Process guidance can provide details about a team project, such as instructions about how to complete work item fields, examples of healthy and unhealthy reports, query descriptions, roles to assume, activities to complete, and other information.
Access to the process guidance requires that a project portal is enabled and configured for the team project.
Process guidance for the team is based on the process template that you chose. Process guidance is content that documents the process to be followed by team members who work on a team project. This content may be hosted locally at a Web site of your choice or as a set of links that point to content that is hosted elsewhere.
(Optional) Dashboards: Product owners and team members can quickly find important information about their team projects by using dashboards. Dashboards display project data, support investigation tasks, and help teams to perform common tasks more quickly.
You access dashboards by opening the project portal. The dashboards and dashboard customization features that are available to you depend on the version of SharePoint Products that is installed on your portal. Most dashboards support the display of several reports in Microsoft Excel that access data in the Analysis Services cube.
Access to dashboards requires that you provision your team project with SharePoint Products and that the system administrator has provisioned the team project collection with SQL Server Analysis Services. For team members to have access to all six enterprise dashboards, you must select a SharePoint site that has Microsoft Office SharePoint Server 2007 Enterprise Edition or SharePoint Server 2010 Enterprise Edition installed. For information about required configurations and permissions to view the dashboards, see Assigning Permissions to View and Manage Reports for Visual Studio ALM.
(Optional) Microsoft Excel reports: You can use reports in Microsoft Excel to display information from the data warehouse for your team project.
These reports are located under the Documents node in the Excel Reports folder. Microsoft Excel reports are stored on the server that hosts SharePoint Products for your team project. If a project portal has not been enabled for your team project, you cannot access these reports.
Access to these reports requires that you provision the team project with SharePoint Products and that the system administrator has provisioned the team project collection with Analysis Services.
(Optional) Workbooks: You can use workbooks to plan your product and to assign user stories, tasks, bugs, and issues to specific iterations. By using the workbooks that are provided with the process template for MSF for Agile Software Development v5.0, you can quickly create work items. You can also modify the rank, priority, state, and assignments of multiple work items at the same time.
Workbooks are located under the Documents node in the Shared Documents folder, and they are stored on the server that hosts SharePoint Products for your team project. If a project portal has not been enabled for your team project, you cannot access these workbooks.
Access to Microsoft Excel workbooks requires that you provision the team project with SharePoint Products.
(Optional) Reporting Services Reports. Teams can analyze the progress and quality of the project by using reports. Reports aggregate metrics from work items, version control, test results, and builds.
Reports are located under the Reports node in Team Explorer and are stored on the server that hosts SQL Server Reporting Services for your team project.
If your deployment is configured to use Analysis Services and Reporting Services, a Reports folder is automatically created for your team project. Otherwise, you can add this resource to your team project later.
(Optional) Builds: Team Foundation Build enables your team to create and manage product builds regularly. For example, a team can run daily builds and post them to a shared server. Team Foundation Build also provides build reports about the status and quality of each build.
If your deployment uses Team Foundation Build, a Builds folder is created for your team project. Build definitions are located under the Builds node for your team project. You can manage builds and organize build definitions by using Build Explorer.
Access to Team Foundation Build Service requires that the team project collection has been configured to use a build controller. Each build controller is dedicated to a single team project collection. The controller accepts build requests from any team project in a specified collection.
Version Control. A Source Control node is created for each team project. This node provides access to Source Control Explorer, which your team can use to manage source code for your team project.
(Optional) Alerts: Team members can subscribe to be notified through e-mail when changes are made to a team project. Alerts can be sent when the status of a work item changes, a check-in occurs, a build is completed, or when a build status changes.
To support e-mail notifications, the server where your team project is stored must be configured to use an existing Simple Mail Transfer Protocol (SMTP) server to send e-mail alerts.
(Optional) Virtual environments: By using Visual Studio Lab Management, your team can create, assign, and track virtual environments to support application development, deployment, and tests. By using Microsoft Test Manager, your test team can test your application by using these virtual environments.
Access to these virtual environments from Test Manager requires that the server where your team project is stored is configured to communicate with Lab Management.
(Optional) Distributed team support: If some team members are located remotely from the main location for version control, you may want to request that Team Foundation Server Proxy is installed to support them.
Team Foundation Server Proxy manages a cache of downloaded version control files in the location of the distributed team, which significantly reduces the bandwidth that is needed across wide area connections. If clients are configured to use Team Foundation Server Proxy, management of the files is transparent to the user. Any metadata exchange and file uploads continue to interface directly with Team Foundation Server.
Web access: Team members can use Team Web Access to find and update work items, work with version-controlled files and folders, access reports and documents, and work with product builds. Team Web Access is a customizable Web interface that provides most, but not all, of the functionality that is available through Team Explorer.
Team members can access Team Web Access after you create your team project and grant them the necessary permissions.
Team projects are grouped into team project collections. A team project collection is an organizing structure that administrators for Team Foundation use to define and control a group of team projects within Team Foundation Server.
When you create a team project, the team project collection that you select for the team project determine the resources that are available to you and your ability to collaborate with other team projects.
Identify the collection where your team project will be stored. You should discuss your project requirements with the administrator for your deployment and determine the project collection that you will use to host your team project.
Your decision depends on at least the following factors:
As discussed in the previous section, many resources that are available for your team project will depend on the team project collection that you select to host your team project. Also, you should select the project collection that contains other team projects with which your team interfaces or collaborates. Team members can use Team Foundation to track dependencies across team projects only when those team projects are stored in the same project collection.
Select a process template that best matches your process requirements. A process template defines the types of work item objects that you can track. It also defines the default rules, policies, security groups, and queries for use by team members.
Team Explorer includes process templates that are based on the MSF. By default, you can use the process template for MSF for Agile Software Development v5.0 or MSF for CMMI Process Improvement v5.0. You can use one of these templates, create a custom template, or download a template from the Internet.
You can customize most artifacts that are contained in a process template before or after you create your team project. The advantage to customizing the process template before you create a team project is that all team projects that you create will have the same changes.
Determine how you will support your team to adopt and follow team processes. Process guidance is content that documents the process to be followed by team members who work on a team project. The MSF process templates provide topic-based process guidance that is available offline in the Visual Studio ALM Help and online through the MSDN library.
You can host other process guidance on your team project portal or another Web site that you designate.
Determine the branch structure for source code. When you create a team project, you can create an empty folder for your source code, or you can create a branch in version control.
Understand naming restrictions and other attribute constraints. Before you create a team project, you should become familiar with the restrictions that Visual Studio ALM puts on names and other attributes. These restrictions might include length, special characters, uniqueness, or other attributes. Specifically, you should understand the restrictions for the following items that are related to team projects:
Create a team project. You create a team project by using the New Team Project Wizard. To access the New Team Project Wizard, Team Explorer must be installed on your computer. Team Explorer is an add-in to Visual Studio and can be installed from any product in the Visual Studio Application Lifecycle Management (ALM) product suite.
Depending on the resources that you will configure for your team project, you will need to set elevated permissions for the team project collection and for the servers that host SharePoint Products and Reporting Services.
Define the structure of your team project. You can organize the work that you want to track by defining product areas and iteration paths. You can define areas that represent specific components or features of the product that your team is developing. You can define iterations to divide the product development cycle into time periods that match your team process. Iterations are also referred to as sprints.
Depending on the process template that you selected, several default area and iteration paths may be defined. You can rename and delete the default paths, and you can add paths to support your project-tracking requirements.
You can add and modify elements in the structure of your project throughout the product lifecycle.
Provide team members with access to team project resources. You can control the level of access that a team member has to team projects by assigning each member to a group for each project. You can individually add team members or add groups that are defined in Active Directory or in a workgroup.
When you create a team project, four default groups are created for that project regardless of your choice of process template. These groups are Readers, Contributors, Builders, and Project Administrators. By default, each group has a set of permissions that are defined for it and that govern what members of that group are authorized to do.
To access the following artifacts, you must add team members to one or more default groups:
Grant additional permissions to select team members. You or another administrator can assign additional permissions to individual team members or groups that have specific responsibilities. These permissions will allow them to manage source code under Team Foundation version control, manage builds, manage tests and the lab test environment, and perform other project-level activities.
To edit a report in Microsoft Excel or Reporting Services, you must be a member of the TfsWarehouseDataReaders security role in Analysis Services. Also, you must belong to a group that has been assigned Contributor permissions in SharePoint Products for the team project.
Notify team members of team project resources. After you grant team members access to your team project, you can notify them about the resources that are available to them and the first set of tasks that they should address.
Install the clients that you need to interface with Team Foundation. Your team members can use one of several client applications for Team Foundation to interact with Visual Studio ALM and Team Foundation Server. All clients require that you connect to a server that runs Team Foundation Server and then specify a project collection and a team project. Your team members must also have the permissions that are required to access each team project.
Create tasks and become familiar with work item queries. Your team members can use work items to track their tasks, bugs, issues, and other elements. They can use work item queries to list, update, and create bugs, tasks, and other work items.
Define user stories and balance the workload across iterations. If your team project is based on the process template for MSF for Agile Software Development v5.0, you can plan your product by using the Product Planning workbook. You can create user stories and balance the workload across several iterations, which are also known as sprints.
The Product Planning workbook is available only when you choose the process template for MSF for Agile Software Development v5.0.
Define requirements and schedule tasks. If your team project is based on the process template for MSF for CMMI Process Improvement v5.0, you can use the Product Requirements team query to start to plan your product. You can open this query in Microsoft Excel, add requirements, and then publish the requirements to Team Foundation. You can also use Microsoft Project to plan and schedule your project.
Support synchronization of new fields for manually scheduled tasks in Project 2010. To update fields in Team Foundation that were added to Project 2010, you must customize the task work item type and the Microsoft Project Field Mapping file for the team project. This strategy is of particular interest if you want to allow team members to manually schedule the duration and start and finish dates for their tasks.
Become familiar with the dashboards and reports that are available for your team project. Team members can quickly find important information about their team projects by using dashboards and reports. Dashboards display project data, support investigation, and help teams perform common tasks more quickly. Reports that are available from Reporting Services aggregate metrics from work items, version control, test results, and builds. These reports answer questions about the current state of your project.
Data that appears in dashboards and reports is derived from the data warehouse. By default, updates to the data warehouse occur every hour. Only after the team has started to create work items and build the application will the reports contain useful data.
Learn how to collaborate effectively with your team. After your team project has been created, your team has a wide variety of tools available to them to enhance communication within the team and streamline workflow. Team Foundation enables collaboration by enhancing communication, supporting multidisciplinary roles, helping track work status, enacting the team's process, and integrating tools.
(Optional) Configure Visual Studio to use Source Controller. Before they use Team Foundation version control, team members may need to configure Visual Studio to use the Team Foundation version control plug-in.
Visual Studio is configured to use the Team Foundation version control plug-in automatically if Team Explorer is installed after Visual Studio is installed.
Configure policies that control check-in and check-out of source code. Administrators of Team Foundation version control can configure check-in and check-out settings for version control. Check-in policies enforce development practices across your development team. Check-in notes collect data from team members during the check-in process. You can customize both types of policies to meet the needs of your team.
Check-out settings enable more than one person to edit files at the same time.
Set up your workspace, and add source code for your team project. If your team uses Team Foundation version control, team members must create workspaces and add their source code. A workspace includes client-side folders on the local disk that are mapped to version-controlled folders on the server for Team Foundation version control.
Configure your Visual Studio client to use the proxy server. If your team uses Team Foundation version control and Team Foundation Server Proxy has been installed to support your remote team, you must configure your Visual Studio client before you can use the proxy server.
Create build definitions. If your team uses Team Foundation Build, you should make sure that a build system has been created, and then you should create build definitions. A build definition contains instructions about which code projects to compile, which additional operations to perform, and how to perform them.
Create test plans and test cases. If your team uses Test Manager, testers should define and manage the test effort by using test plans.