August 13, 2018

What Is Team Foundation Server?

Version Control
Application Lifecycle Management

Microsoft TFS (Team Foundation Server), is a software tool used for managing a team and their code. It’s a combination of a version control system (VCS), an issue tracker like Jira, and a limited application lifecycle management (ALM) tool.

TFS for source control has been around for more than a decade and has evolved since its inception in 2005. There are professionals in the industry whose entire careers have been dedicated to managing Microsoft TFS. Such expertise has been necessary because it was quite complicated to administer. Hands-on management was necessary to deal with database changes, service packs, and countless upgrades that added numerous small features. It also was hard to use, because it was created when user experience (UX) was not a top priority for Microsoft.

Agile Development Transforms Microsoft TFS

In 2012, TFS morphed into a tool that helped teams manage their software development projects using Agile. One of the primary reasons it became popular for Agile was because companies already had Microsoft licenses. It was an easy choice. At the time, I happened to work at such a company. We had one of those pros whose life was dedicated to Microsoft TFS. This made it easier for the team to adopt and support our new Agile software development process.

For TFS requirements management, Microsoft created a dedicated ALM tool. This light-weight tool can manage some requirements, but lacks a robust and flexible model that can support large-scale global teams. When it comes to testing, TFS does not give you visibility into the testing steps and does not define a clear relationship between bugs and failed tests.

On the version control side of things, TFS has had a couple of different approaches. Team Foundation Version Control (TFVC) was one centralized version control system. This system saved historical data using path-based branches created and maintained on a Windows server.

Microsoft TFS for Source Control Moves to the Cloud

Many people continue to run older on-premises versions of TFS. But Microsoft has been moving all the software it makes to the cloud. Some obvious examples include Office 365 and Azure, along with numerous smaller initiatives. For many, Microsoft’s cloud move was unexpected, but the benefits are clear. Azure has become a fast, secure, and integrated platform for Windows shops.

It seems like no one ever expected Microsoft to openly embrace open source. But when you look at it closely, it makes sense.  A big part of Microsoft’s strategy has been to win the hearts and minds of developers. Open Source has become popular with both developers and the companies they work for. As a result, Microsoft has put Git front and center in Visual Studio’s Source Code Control (SCC) integration.

Team Foundation Server’s Evolution

So, TFS has morphed again. Today, VSTS (Visual Studio Team Services) is Microsoft’s Git code hosting, collaboration, and DevOps platform. It offers features comparable to other cloud-based Git tools and is the default version control system in Visual Studio. The on-premises version of VSTS is now called TFS. It looks nothing like the TFS of old. Microsoft’s GVFS (Git Virtual File System) runs on Windows servers and turns Git into a centralized, server-based system.

You can continue to use your legacy TFVC with Visual Studio and other popular VCS systems. Perforce Helix Core continues to have very strong integrations with the popular integrated development environment (IDE). Helix Core’s plugin for Visual Studio (P4VS) has been downloaded almost 400,000 times.

Evaluating Microsoft’s Git Takeover

But even after all of this, yet another morph for TFS for source control may be on the horizon with Microsoft’s recent acquisition of GitHub, the actual home of open source software. Public announcements from the leadership of both companies say they will continue to operate “business as usual”, serving their respective communities. This being said, we all know things can change quickly in the technology marketplace. It seems very likely that, at some point in the future, GitHub and VSTS will merge. It isn’t much of a stretch to think that NuGet and other tools might make their way over to this combination.

What’s the Best Replacement for TFS?

If you are still using an older on-premises version of TFS, consider joining many other companies who are taking advantage of this turning point to evaluate. Is Git and the new VSTS really the right set of technologies for your team?

At this point, it isn’t just the VCS in the mix, but also Agile project management and lifecycle management for your SDLC. The Perforce suite of tools (e.g., Helix Core, Helix TeamHub, Helix ALM, and Hansoft) deliver best-in-class functionality that exceeds the comparable functionality in TFS and TFVC.

Helix Core outperforms TFS for course control in performance for common operations such as branching, checking out files, and tagging files. Helix ALM offers greater visibility and control over requirements, tests, and bugs. And Hansoft offer more advanced project lifecycle and Agile project management capabilities than VSTS.  Plus they seamlessly integrate with common developer tools and work on Windows, Linux and Macintosh — in the cloud or on-premises.

Watch a Demo