One of the questions that I get frequently asked is what is TFS, and how could it change my life.   Well the best place to start is with the acryomn.  TFS Standards for Team Foundation Server the new (well relatively new) Team colloboration tool from Microsoft. 

So where does TFS fit into Microsoft Product Suite.

With the release of Visual Studio 2005, Microsoft introduce a new product called Visual Studio Team System also known as VSTS.   Essentially, VSTS is Visual Studio extended and customised to target different roles in the development process.  Visual Studio Team Foundation Server, inside the inside the Visual Studio Team System suite of products and is seen as the glue that ties the rest of the products together. 


But I’ve heard that TFS is just a source code control system.

Sure, TFS contains a new source code control system built on top of SQL Server 2005, but it is so much more.    It contains Work Item Tracking, Source Code Control, Team Build and a Project Portal.  Sitting on top of this is a comprehensive reporting system that allows for a transparent view into how a project is tracking.  So diving into each of these 5 area’s seperately.

Work Item Tracking

Work item tracking is a feature that helps developers, project managers, architectures, analsysts and tests all keep track of the work that they have to do.    The way I think about it is that it is a centralised task list.   Work Item tracking, extends the normal bug tracking systems that developers and testers are used to an expands it out to the rest of the project team.    To put simply a work item is a piece of work that needs to be complete at some stage in the project lifecycle.     One of the great features of work item tracking is that it allows all participants in a project know and undertand what work is left to be done in the project.    

Source Code Control

The next feature of TFS is source code control.  Microsoft has built from the ground up a new version code control system.    It is a 3 Tier ASP.NET web service application, backed by SQL Server 2005 data store.  Like source safe it has integrated checkin with Visual Studio, but also introduces some new features.  Of the best features is Shelving – the ability to store code in the repository without checkin it in or impacting on the current branch.  One of the cool features with shelvesset is you can shelf a change send a mail to a fellow developer and get them to look at the changes you have made, all without modifying the current source tree.    Also, like any enterprise source code control system it supports branching and merging properly.  

Project Portal

The project portal is the one stop shop for all of your teams artifacts that is not source code control.   When you create a Team Project as part of the setup a new Windows Sharepoint Services site is created.   This site allows you to store any information that is important to your project.   This information, is all available inside Visual Studio via the Team Explorer so developers no longer have to go searching around for that requirements spec as it is right there at their finger tips within Visual Studio.

Team Build

Team build is the brand new build system built inside of TFS.   Team build is built on top of MSBuild, the new build platform that was released as part of .NET 2.0.   Out of the box it allows your to build your applications, run unit tests , record code coverage and package up your application for development.   However, one of the key features, is that all of the information about a build is then stored back inside Team Foundation Server which can then be reported on later.


The final piece in the tool suite.  With everything that goes on in your project, from work items, test results and  through to changesets all being stored in the TFS Database and Warehouse.  Anything that you could ever want to report on, well nearly everyting, is stored in these databases.  You can then build some quite powerful reports or use the out of the box reports.


So you’ve told me what TFS is now how could it change my life?

Well, for me the biggest way that TFS can change your life is it will help you get organised and communicate better!     By using the Work Items to plan the work that you are going to do you will start to fill in more control of what work needs to be done.    Following this up with using the reports, especially the remaining work report, will help you get an understanding of how your project is tracking.    So grab a copy of Team Foundation Server and try it out today!