Choosing the framework populates the project with predefined items such as project roles and permissions, as well as other documents like project roadmap, document templates, and report definitions. TFS includes several templates for the most common ones, including agile and formal methodologies.
When creating a project, a software development framework must be chosen, and cannot be changed afterwards.
TFS provides capabilities for managing these projects. A team project contains the user defined work items, source branches, and reports that are to be managed by TFS. It also includes notification and logging capabilities to log all the creation, access or change events (controlled by policies) and optionally notify certain users when certain events occur.Īny given Team Foundation Server contains one or more "Team Projects", which consists of Visual Studio solutions, configuration files for Team Build and Team Load Test Agents, and a single SharePoint repository containing the pertinent documents for the project. Each work item has associated control policies which control who is allowed to access and/or change the items. These items are internally stored in XML format, and their schema can be customized to add other attributes to different items, or create new items on a per-project basis. The framework chosen for any given project in a Team Foundation Server defines what types of work items are available and what attributes each type of work item contains. Work items themselves can be of several different types, such as a "Bug", a "Task", a "Quality of Service Assessment", a "Scenario", and so forth.
In many respects they are similar to a "bug" item in bug tracking systems such as Bugzilla, in that a work item has fields to define Area, Iteration, Assignee, Reported By, a history, file attachments, and any number of other attributes. Work items are a single unit of work which needs to be completed. Most activity in Team Foundation Server revolves around a "work item". The "data tier" is not exposed to the "client tier", only the "application tier" is.
The "data tier" and "application tier" can exist on different physical or virtual servers as well, provided they are running Windows Server 2003 or better. The "data layer", essentially a SQL Server 2005 Standard Edition installation, provides the persistent data storage services for the document repository. The document repository is used for both project items and the revisions tracked, as well as for aggregated data and generated reports. The web portal, called the "Team Project Portal", acts as the central point of communication for projects managed by TFS. The "application layer" also includes a web portal and a document repository facilitated by Windows SharePoint Services. The web services are in the "application layer". These web services are used by applications like Visual Studio Team System to use TFS as data storage back end or dedicated TFS management applications like the included "Team Foundation Client".
TFS does not include any user interface for this tier, rather it exposes web services which client applications can use to integrate TFS functionality with themselves. The "client tier" is used for creating and managing projects and accessing the items that are stored and managed for a project. Team Foundation Server works in a three-tier architecture: the "client tier", the "application tier" and the "data tier". It is available either as stand-alone software, or as the server side back end platform for Visual Studio Team System (VSTS). Team Foundation Server (commonly abbreviated TFS) is a Microsoft offering for source control, data collection, reporting, and project tracking, and is intended for collaborative software development projects.