August 13, 2018

What Is Team Foundation Server?

Version Control
Application Lifecycle Management

What Team Foundation Server Does

Team Foundation Server (Microsoft TFS) helps manage teams and their code. It's because TFS offers a combo of version control, issue tracking, and application lifecycle management.

Microsoft TFS for source control has been around for more than a decade. And it has evolved a lot since its inception in 2005. There are professionals in the industry whose entire careers have been dedicated to managing TFS. Such expertise has been necessary because it was quite complicated to administer.

Hands-on management was critical to deal with database changes, service packs, and countless upgrades that added numerous small features. TFS was complicated 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 a simple choice. This made it easier for teams to adopt and support new Agile software development process.

For TFS requirements management, Microsoft created a dedicated ALM tool. This light-weight tool could manage some requirements, but it lacked a robust and flexible model that can support large-scale global teams. When it came to testing, TFS did not give visibility into the testing steps and did 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’sGit 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.

TFS for Source Control: Evaluating the 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. It will be interesting to see how Microsoft version control will evolve.

What’s the Best Replacement for Team Foundation Server?

If you are still using an older on-premises version of Microsoft 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?

But if you have:

  • Large numbers of developers.
  • Geographic locations.
  • Very large files (and a lot of them).
  • Automation needs.

Then Git may not be the right solution for you.

Helix Core + Git Support

At this point, it isn’t just the VCS in the mix, but also Agile project management and lifecycle management for your SDLC. Perforce tools 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. And you can still use Git, but get all the benefits of being able to scale and support growing teams and compressed release cycles.

Plus, you can try Helix Core free for five users

Try Helix Core