How Microsoft Uses TFS


Today I was in a meeting with several TFS experts including Grant Holliday and Joe Schwetz. Joe presented on how Microsoft used TFS to handle their projects and the value it added to their organisation. I found it quite interesting to hear how Microsoft structured its development with TFS. Their branching structure, in particular, was interesting to behold.They had a structure that revolved around a Main branch which contained high quality code. Branching off from the Main trunk were the development branches that were created of isolating features.


Development branches are created for the purpose of isolating feature development. For Microsoft, Joe revealed that they have as many as 630+ feature branches. The feature branches coordinate their check-ins by scheduling dedicated check-in times for each branch. In addition, there is a process that Microsoft follow upon creation of a new feature branch.

The stages of the process are as follows:

  1. CP0 – The feature team writes a brief 1 page document outlining what they are developing
  2. CP1 – Design phase
  3. CP2 – Coding phase
  4. CP3 – Quality gates

There are 20 quality gates to be satisfied before a merge back to the Main branch is allowed.

Personally, I find it interesting to see why Microsoft prefer this branching strategy. From what I heard from Joe, this model works very well for them as it prevents incomplete features from being added to a solution. The quality gates ensure the code that is checked-in to the Main branch is of an acceptable quality. Furthermore, there are reporting benefits to be drawn from this model according to Joe. Unfortunately, my lack of knowledge with the reporting aspects of TFS leave me somewhat in the dark.

Overall, I was quite impressed with Joe’s presentation and I’m quite inspired to see whether I can introduce their philosophy into the projects I’m involved in. I can see how Microsoft uses TFS as a total package that is essential to the software development life cycle, rather than an optional element or mere source control as so many organisations treat it.

Technorati Tags: ,,,,


No Responses Yet to “How Microsoft Uses TFS”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: