Server Side Components
Microsoft Team Foundation Server (TFS) is the server side component of VSTS that runs on a MS Windows 2003 or MS Windows 2008 Server along with WSS 3.0 or MOSS 2007. TFS acts as a central repository to store all project artifacts in one location and access that information and data from a tool of our choice: Visual Studio, Outlook, Microsoft Project, Excel, Eclipse, Web Access, SharePoint etc. TFS can use SQL Server 2005 or SQL Server 2008 as its back end. To display a wide range of reports, TFS uses MS SQL Reporting and Analysis Services.
TFS acts both as a data storage and as a collaboration backend. It provides work item tracking, reporting, version control repository, etc. Without Team Foundation all of the other components of VSTS are essentially stand-alone components that run on the client. Once Team Foundation becomes part of the picture, the various client pieces work together as a cohesive unit.
TFS provides source control by storing all the code, along with a record of all changes that have been made to the code in a SQL Server database. It uses SQL Server Reporting Services to create a wide variety of reports. It keeps track of the current check-outs and of all change history. It allows different security access levels to be set on different items.
TFS also includes a tightly integrated and highly configurable build server, which is based on MSBuild. The build server can be used to make validated builds of the most recent code contained in the source control. A build can be validated using Visual Studio's Code Analysis, Test Tools and Code Coverage.
TFS provides a Windows SharePoint Services Portal for every project to give one central location for project documentation. TFS provides Work Item Tracking to give visibility of all work outstanding in the project (i.e. use cases, tasks, test cases, and bugs).
TFS can be configured to support any development process with a Process Template. By default it includes Microsoft Solutions Framework (MSF) for Agile Software Development and MSF for CMMI Process Improvement. Partner organizations offer processes including SCRUM, EUP and FDD. These templates can be used as is, or customized to enact the development process.
TFS exposes information and capabilities to the client VSTS IDE through TFS Client API / web services. For example, VSTS Team Explorer allows browsing and managing the items in a team project. Creating and viewing TFS analysis reports is also possible through the VSTS IDE
Client Side Components
- Microsoft Visual Studio Team System Architecture Edition: Provides visual designers for software architects, systems operations managers, and developers.
- Microsoft Visual Studio Team System Development Edition: Provides development tools for building applications and service-oriented products, unit testing tools, profiling tools, and code analysis tools.
- Microsoft Visual Studio Team System Test Edition: Provides web testing, load testing, unit testing, code coverage, and other testing tools.
- Microsoft Visual Studio Team System Database Edition: Provides database development and testing tools
- Microsoft Visual Studio Team System Team Suite: Includes all the above client side tools in a single IDE suite.
Since VSTS is an extensible environment, integrating other third party tools into it is easy. Many tool vendors have been working with Microsoft to create integration points with their tools so that we can swap them with ones that come with VSTS.