Team Foundation Server Planning Roadmap

Before you deploy Visual Studio Team System Team Foundation Server, you should carefully plan the scope of the deployment and consider the future path for maintaining and expanding your Team Foundation Server deployment. This topic summarizes the considerations discussed throughout the Team Foundation Server Planning Guide and gives you a list of questions you must answer in order to determine how you might want to deploy Team Foundation Server. This list of questions is provided as a starting point for your planning, and is not intended to be exhaustive or definitive for all possible permutations of Team Foundation Server deployment. The questions are divided into the following groups:

  • Questions about the topology in which you want to deploy Team Foundation Server.

  • Questions about the size of the team or teams that will be using Team Foundation Server.

  • Questions about the number and types of projects you plan to develop on Team Foundation Server.

  • Questions about the life cycles of the projects you plan to develop on Team Foundation Server.

  • Questions about the maintenance and availability needs for Team Foundation Server.

Questions About the Topology in Which You Want to Deploy Team Foundation Server

To answer the following questions, you might want to think about your current network environment, security needs, and administrative overhead. Some components are optional, and you can choose not to install them if your deployment does not require that functionality. For a complete list of the required and optional components of a deployment, see the installation guide for Team Foundation. You can download the most recent version of this guide from the following page on the Microsoft Web site: Team Foundation Installation Guide for Visual Studio Team System 2008.

Are You Currently Operating Your Computers in a Workgroup?

If you are currently operating your computers in a workgroup environment, you must deploy Team Foundation Server in a single-server deployment. Dual-server Team Foundation Server deployments are not supported in workgroup environments. For more information, see Managing Team Foundation Server in a Workgroup.

Are You Currently Operating Computers in Both Workgroups and Active Directory Domains?

If you are currently operating some computers in workgroups, and other computers in an Active Directory domain, you can deploy Team Foundation Server in either the workgroup or the domain. You can support Team Foundation clients from both the domain and from workgroups. If you want to deploy Team Foundation Server in the workgroup, you must deploy Team Foundation Server in a single-server deployment. If you want to deploy Team Foundation Server in a domain, you can select either a single-server deployment or a dual-server deployment, depending on your operational needs. For more information, see Managing Team Foundation Server in a Workgroup and Managing Team Foundation Server in an Active Directory Domain.

Are You Currently Operating Your Computers in Multiple Active Directory Domains or Forests?

If you are currently operating computers in multiple Active Directory domains or forests, you can support Team Foundation clients in some or all your domains or forests. You can even deploy the Team Foundation application-tier server in one domain and the Team Foundation data-tier server in a different domain, if it is required. For more information, see Managing Team Foundation Server in an Active Directory Domain.

Questions About the Size of the Team or Teams That Will Be Using Team Foundation Server

To answer the following questions, you might want to think about:

  • the size of your current software development teams

  • how many software development teams you want to support on Team Foundation Server

  • the location of your software development teams

  • the future size of your software development teams over the life cycle of your software development projects

  • The licensing requirements for your software development teams. For more information about how to obtain and manage product licenses, see the following page on the Microsoft Web site: (Team System Licensing for Visual Studio 2008 White Paper).

How Many Teams Do You Want to Support on Team Foundation Server?

Team Foundation Server can support a maximum of five hundred (500) team projects if you use the MSF for Agile Software Development process template for project creation. Team Foundation Server can support a maximum of two hundred and fifty (250) team projects if you use the MSF for CMMI Process Improvement process template for project creation. If you have more than five hundred MSF for Agile team projects, or more than two hundred and fifty MSF for CMMI team projects, you must deploy more than one Team Foundation Server. For more information, see Understanding Size and Performance Limitations.

How Many Users Make Up Your Software Development Teams?

Team Foundation Server can support a maximum of five hundred (500) unique users in a single-server deployment. Team Foundation Server can support a maximum of two thousand (2,000) unique users in a dual-server deployment. As you reach the maximum, Team Foundation Server performance will decline. This drop in performance can vary somewhat based on your hardware and the size and complexity of your team projects. If the number of unique users on your software development teams is likely to significantly increase over the course of a project, consider deploying a Team Foundation Server configured to support the larger team. For more information about hardware requirements for supporting numbers of users in single-server or dual-server deployments, see Application-Tier Server Requirements for Team FoundationData-Tier Server Requirements for Team Foundation, and Naming Restrictions for Team Foundation Server. For more information, see Understanding Size and Performance Limitations.

Where Are Your Software Development Teams Located?

If you have software development teams in more than one office location, you can choose to deploy Team Foundation Server Proxy to improve network performance by caching copies of version control files locally for the developers working at a different geographical location than Team Foundation Server. Alternatively, if you have software development teams working in different locations that speak different languages, consider deploying an Team Foundation Server at each location configured for that team's language. For more information about Team Foundation Server Proxy and remote connections to Team Foundation Server, see Managing Remote Connections to Team Foundation Server Proxy. For more information about Team Foundation Server and languages, see Language Requirements and Considerations.

Questions About the Number and Type of Projects You Plan to Develop on Team Foundation Server

The total number of team projects Team Foundation Server can support depends on what process template you choose to use when creating those projects. Additionally, Team Foundation Server has other project-related limitations that you should consider as part of planning for Team Foundation Server. For more information, see Planning a Team Project and Understanding Size and Performance Limitations.

Questions About the Life Cycles of the Projects You Plan to Develop on Team Foundation Server

Team Foundation Server has no set limits on the life cycle of any given team project. However, the longer the life cycle of a software development project, the bigger the project is likely to be. There will be more work items, more documents, and more source code versions to maintain. To answer the following questions, you might want to think about:

  • the duration of your past software development projects

  • how many bugs, work items, and other issues that can be tracked are created over the life cycle of your projects

  • the number of specifications and other documents you create and store relative to your software development projects.

Is Your Average Software Development Life Cycle Measured in Years?

If the average development time for a software project you want to develop on Team Foundation Server is measured in years, consider a dual-server Team Foundation Server deployment. Dual-server deployments are larger and can support larger numbers of unique users. Because of the larger hardware requirements, dual-server deployments can support many work items, documents, and source code versions more gracefully than smaller, single-server deployments.

Is Your Average Software Development Life Cycle Measured in Months?

If, on the other hand, the average development time for a software project you want to develop on Team Foundation Server is measured in months, with small teams that work quickly on smaller projects, consider one or more single-server Team Foundation Server deployments. Single-server deployments are smaller and require less hardware, and individual servers can be archived or discontinued as the software projects developed on them come to a close.

Is Your Average Software Development Life Cycle Unpredictable?

If the average development time and size for software development projects varies greatly, consider a dual-server deployment. Because of the larger hardware requirements, you are less likely to experience performance or software limitation issues if one or more software development projects on Team Foundation Server proves to be longer and more extensive than first thought. If you choose a single-server Team Foundation Server deployment, consider whether you might want to implement space-saving measures such as limiting the size of attachments to work items. For more information, see Managing Data.

Questions About the Maintenance and Availability Needs for Team Foundation Server

To answer the following questions, you might want to think about:

  • how frequently you want to back up your Team Foundation Server 

  • whether your company has regular off-hours when backups can be performed

  • how critical it is to have Team Foundation Server available at all times.

Will Team Foundation Server Unavailability Put Your Software Development Project At Risk?

Some software development teams are resourced so that any unexpected server unavailability will put the project at risk. If so, consider a dual-server Team Foundation Server deployment with a standby Team Foundation application-tier and a clustered Team Foundation data-tier. Providing this redundancy increases your options for backing up data without locking out users and reduces the risk that Team Foundation Server will be unavailable due to an unexpected hardware problem. For more information, see the Team Foundation Server Installation Guide. For more information about where to find the installation guide, see Installation Overview for Team Foundation Server.

Team Foundation Server Installation Guide Checklists

The Team Foundation Server Installation Guide includes several checklists that help you install Team Foundation Server. For more information, see the the Team Foundation Installation Guide. If you have installed Team Foundation Server, the Team Foundation Installation Guide is available on the hard disk as the file TFSInstall.chm. You can download the latest version of the Team Foundation Installation Guide from the Microsoft Download Center (https://go.microsoft.com/fwlink/?linkid=79226).

See Also

Concepts

Team Foundation Server Planning Checklist

Planning a Team Project

Other Resources

Team Foundation Server Planning

Change History

Date

History

Reason

June 2010

Corrected link to the licensing whitepaper and clarified that some components, such as SharePoint Products and Technologies, are optional.

Customer feedback.