Team Foundation Server vs. Visual Studio Online

Calvin WongMost of you are probably familiar with Team Foundation Server (TFS), Microsoft’s Application Lifecycle Management product that we offer as a hosted service. You can use TFS to manage work item, track bugs, automate builds and, of course, version control.

We get a lot of questions around here about Visual Studio Online (formerly Team Foundation Service) and how it’s different than the TFS service we offer. This article will try to shed some light on those questions.

What’s in a name?

visual studio team foundation server

Let’s start with getting the names straight. First, there is the original “Team Foundation Server” (TFS). This is software you can install on a server in your own network. You and your team can then hook up Visual Studio to that server and use TFS. You have to buy the software, buy licenses for users and use your own server.

Next came the hosted version of TFS, which is what we offer. We have TFS on our web server, you pay us a small per-user fee to use it. You can get up and running quickly, without performing installation or maintenance. And the service is available online. You just need Visual Studio installed on your computer and an internet connection.

Then came “Team Foundation Service,” a TFS-like product offered directly by Microsoft. You pay them to hook up Visual Studio to their Azure-based online server.

VS OnlineFinally, Microsoft changed the name of Team Foundation Service to “Visual Studio Online”.

I will just compare the hosted version of TFS (the product we offer) to Visual Studio Online (VS Online).

VS Online

The core functions of TFS and VS Online are the same. In fact, they are essentially the same product on different update cycles and frequencies. You can use them both to track bugs, manage work items, control different versions of your source code – all the things a good ALM product should do.

What’s fundamentally different is how new versions of each get to market.

TFS has distinct versions: 2010, 2012 and the new 2013. This is like most other Microsoft software, e.g. Office, Visual Studio, Windows OS. When a new version comes out, you can choose whether or not you want to upgrade (like choosing to stay on Windows 7 instead of moving to Windows 8).

VS Online does not have versions. There is no VS Online 2010 or VS Online 2013. Instead, VS Online is a constantly evolving service that’s continually being updated.

Microsoft is hard at work (try to keep up)

Currently, Microsoft releases a new sprint (update) for VS Online every 3 weeks. Adoption is not optional. Sprints are released on the entire platform, along with a news article explaining the changes. You can see history of the changes here.

The history is long. There are a lot of changes, big and small, superficial and architectural. Things get added, removed, returned, renamed and rearranged (heck, they even changed the name!). In fact, they released a new sprint while I was writing this article. So, if you’re going to be on VS Online, you’ll want to bookmark that page and keep up with all the changes as they happen. And not only you – your entire team will have to keep up, too.

Pioneers?

It’s all part of Microsoft’s Agile philosophy, buildmeasurelearn.

Who are they measuring and learning from? While the VS Online team does do some dogfooding, they primarily rely on their users, through observations and direct feedback. In a sense, users are pioneers blazing the ALM frontier. Or maybe just lab rats? Remember this video from Microsoft taking shots against Google Docs?

(Note that Microsoft has removed that video from their YouTube channel.)

Most of the time, Microsoft is adding new features and making the service better by giving you more tools, better ways to manage your project and collaborate with your team.  Last year they added, among other features, Git support, charts, and team rooms.

But sometimes a new release will introduce a new bug, or just downright break something. Like with Sprint #45. Or with the Nov. 13, 2013 release.

I’ll be honest. Most of that is over my head. It’s a complex service sitting on top of a complex service (Azure) that changing all the time and it takes weeks for the smartest people in the world to figure out what’s wrong.

You want to blaze ahead too?

But you want more tools, better project management and collaboration, right? Well, you get that with TFS, too! See, the features on VS Online eventually get bundled up and released in new versions of TFS. Take a look at this chart. The third column (Server) lets you know what version of TFS that feature was released to.

So to me, with TFS, you’re getting the best of both worlds. You don’t have to suffer bugs, because they’re usually worked out by the time a new version is released. New features aren’t missing important components. You get a more stable, more mature product with TFS. And you’re not forced to adopt new versions.  If you’re happy with TFS 2012 and would rather concentrate on your code than learn new software, you can stay with TFS 2012. If and/or when you want some of the new features that came out with TFS 2013, you can choose to upgrade – on your own schedule.

Which should you choose?

If you’re having a tough time deciding, let me share what I’ve gathered from the feedback we get. People who prefer VS Online are willing to tolerate bleeding edge hiccups. Many of them are motivated by an interested in ALM itself, as a subject of study, and want to keep abreast of the changes Microsoft makes as they make them.

The people who prefer TFS tend to be in mature developer teams; and in teams that maybe that don’t have the luxury to schedule a training session every 3 weeks. These are usually people who need something they are familiar with and confident in.

If you have any questions or comments, let us know!

6 thoughts on “Team Foundation Server vs. Visual Studio Online

  1. Thanks for this post! It’s late July 2015 and this is still helpful. But one would have to be career Microsoft developer to keep up with all this change!! I am almost ready to give up.
    TFS. Azure. Visual Studio Online. It’s all very interrelated and confusing to anyone trying to jump on the MS bandwagon today. And there is SO MUCH info available that it is a daunting task to know what to read to get caught up. I want to be able to develop cross-platform mobile apps using C# by myself or on a small team, and having a cloud-based repository with project management tools is a great plus. If only I had a roadmap for my training plan.

  2. Hi,

    In terms of security, how TFS and Visual Studio services will be different as one of them is self hosted? Please explain.

  3. Thank you for this article, I’m MS Access , VBA programmer, My office looking for application that we can track through the codes that added to VBA, or the changes that done on Forms, Report ..ext to our many Access databases. we have many programmers and we do are not sure how and when the code are added or changed. I searched online and I just found TFS, but not sure if this application will match the requirement of my company , could you help me please?

    1. @Sarab

      I’m not sure what version of Access you’re working with but you may want to look into the Team Foundation Server MSSCCI provider if it’s an older version. The MSSCCI provider’s pretty neat because it’ll snap-in to Access directly.

      If the MSSCCI solution doesn’t work then I don’t think an elegant solution’s available. I only have a limited amount of experience developing against Access but you’d probably need to find a way to copy/export your code and then get that data under version control.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.