Most 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?
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.
Finally, 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).
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.
It’s all part of Microsoft’s Agile philosophy, build–measure–learn.
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.
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!