This is a recent question I ran into on the MSDN TFS Forums.  Made me think why I use it and how to make it effective.

Here is what my response to this was …

“My #1 justification is the fact that when you are looking at TFS source control is not all it does. TFS has the benefit of enabling a solutions team with different roles the right level of visibility.

Not everyone will use Visual Studio, for example project managers. In many cases Visual Studio can intimidate the individual. When deployed with SharePoint, there are web parts and components that will enable collaboration from TFS to SharePoint and the other way around. For example, the creation of Work Items can be done from SharePoint, the Documents area from TFS will upload documents to document libraries in SharePoint. So, if you are looking for more than just Source Control and Build Management and in fact perhaps a better rounded ALM solution, I think SharePoint definitely has a place.”

Then a bit on the deployment needed …

“Now, in the scenario mentioned, the company or individual already have a SharePoint 2007 deployment, in such case, they will need to install the Extensions for SharePoint. 3 Pieces that will enable the communication from TFS to SharePoint and vice versa. Now, it also includes items that will feed metrics to know status and progress and such. Normally what I recommend is allocation of the TFS-SharePoint in its own Web App if not Site Collection and managed path for projects.

As far as the version of SharePoint, you can integrate with either 2007 or 2010.

Hope this helps, if there are questions, keep on asking and let's get the discussion going.”

I think it is important to understand the why and not only the how.  The why helps position and justify the need not only for developers, but for the entire team.

There is plenty to talk about on this topic.  I will come back to it later to describe the benefits deeper.