Why the heck should I use Team Foundation Server ... a common question
Although I am most likely opening a can of rattle snakes, I will finally give my view on why we should be using Team Foundation Server as
one of the possible supporting solutions for our solution team environments.
We will keep a bomb disposal unit in close vicinity, in case the topic becomes explosive...
Context:
- Do I make money made from TFS sales? ... No
- Is TFS the one and only solution? ... No
- Should TFS, in my humble opinion, be considered as a supporting solution? ... Yes
My view:
I created my first fully automated build and test environment back in the mid-1980's, working in the BTOS environment and a world of command line utilities. Since then we have automated the build in many different environments, using a plethora of tools, using Visual Studio, command line tools, solutions such as CruiseControl, BugZilla, Visual Source Safe, SharePoint and many, many other tools. So, why have I embraced TFS/VSTS as a solution, when we have been able to do it ourselves, often with free solutions?
Well, looking back I make the following observations in terms of the automation of the build and test environment:
- Nothing new ... has been done since the 80's.
- Not impossible ... was realised using a number of tools and solutions, often from different vendors.
- Not comprehensive ... consolidating different environment and creating usable reports was often complex.
- Not simple ... was often expensive in terms of time and resources.
- OO dream ... was often loosely coupled, with explicit boundaries and using autonomous solutions.

Let's cut the waffle and get to the point. Why then, should we consider the Team Foundation Server (TFS) in a Microsoft pure or hybrid development environment? TFS offers ...
- An environment that is integrated with the Microsoft IDE, as well as other IDE's. See http://widgets.accentient.com/ for a wide range of integration solutions.
- A fully integrated solution, that consolidates all stakeholders of a solution such as the sponsor, project manager, developers and testers.
- A comprehensive set of information through reports, giving an insight on the version control, code coverage, code churn, build stability and much, much more.
- A set of integration and extensibility points, allowing solution providers, such as TeamPrise, TeamLook, TeamCompanion, ... to extend the integration.
- A SDLC guidance solution, that mentors and guides all solution stakeholders.
TFS is not a silver bullet, it is not a breeze to install, it needs careful planning and management, it does not come cheap and it requires buy-in by all solution stakeholders in order to deliver its full value. If we accept that none of these characteristics are unique to TFS, we realise that TFS is one of many possible solutions that we could use.
Its core strengths, however, is that it guides the team in terms of the SDLC, integrates seamlessly with Microsoft and non-Microsoft IDEs and most importantly, makes available the true state of the nation, through a comprehensive list of out-of-the-box reports and the ability to add custom reports. The result is improved developer and project manager productivity, as well as real-time visualisation of the project status.
Before carrying on the same way as we have for the past 25+ years, we should consider and evaluate solutions such as TFS. Perhaps it will take care of a lot of the "plumbing" and allow us to focus on what is really important ... delivering business solutions and value!
Evidence:
But why listen to me, because I may be blinded by the passion for the technology ... have a look at some of the case studies, return of investment reports and customer evidence, as summarised in the following list and then make your own decision:
- Case Studies
- Customer Evidence
- Others:
- KBC Bank used Microsoft Visual Studios Team System and Team Foundation Server to improve application-building methodologies, increase productivity, and accelerate application deployment.
- EDS used Microsoft Visual Studio Team System to support a more efficient global development strategy, realigning its internal software development assets and improving the productivity of its developers and testers.
- Dell: By using Microsoft Visual Studio Team Foundation Server to deploy a global source code management platform, Dell is able maintain a centralized repository for all source code and provide it to developers on a just-in-time basis regardless of their location. Improved source code management has also enabled Dell to consolidate its source code onto fewer servers, redeploy 100 system administrators, and improve the productivity of its developers.
Join us at Tech-Ed 2007 at the Chalk & Talk sessions to discuss this topic further...