Team Foundation Server: Tips for the individual developer

- select the contributor at the end of the page -
I should  probably start by admitting that I've resisted using Team Foundation Server (TFS) in the past. Now that I've caved and decided to take it for a spin, I thought I'd share my experiences here. My hope is that the lessons I've learned along the way can help other developers (specifically, one-man operations) decide whether or not TFS is right for them. But before we dig in, let me clarify that I recognize a need in my own development projects for version control. Since TFS and GIT are both popular options, it seemed logical that I should at least give them each a shot. Being more familiar with TFS through work, I decided to start there. Here's what I've discovered so far.

TFS 2015 Express

Admittedly, I had a difficult time getting TFS Express to work in the way I wanted. I thought it would be easy, or at least rewarding in the end -- even if it was initially difficult. I had to endure a lot just to get it installed correctly, mainly because I had SQL Server 2016 Express on my laptop, and it was not compatible with TFS Express 2015 RC. But even after I downloaded and installed a SQL 2014 Express instance on my laptop, I couldn't get it to recognize the correct SQL instance. It wasn't  until I completely removed the SQL 2016 instance from my system that had a successful install.

After TFS 2015 Express was (finally) installed, I found it difficult to create a new project. And even though I'm just a developer working solo, I want to separate my work into two definitive categories: Work-that-needs-to-be-done from What-I'm-working-on-right-now. Creating separate projects and breaking them into tasks (when I'm not necessarily in the state of mind to write the code at that time) is high on my list of desirable features.

TFS 01

After installing an updated TFS client into Visual Studio, I was able to create a separate project in my TFS instance. Just when I thought I was in the clear and ready to start adding tasks, I ran into yet another problem. Even though TFS 2015 Express lets you set up a backlog and task board for your project, it turns out that this edition is not licensed for it. In the end, I was pretty sure that TFS 2015 Express was not going to meet my needs for version control and work-tracking.

Visual Studio Online

Visual Studio Online was a completely different experience. Easy sign-up, and no software installation. As part of my MSDN subscription, I was able to take advantage of the backlog and task boards. And adding the workspaces to Visual Studio was a cinch -- all I had to do was sign in with my Microsoft account, and my Team Foundation Server projects were ready to go.

TFS 02

I could add projects and easily assign tasks directly from my Visual Studio Online page. Those projects and tasks were presented in Visual Studio, and I could pick and choose to work on them from Team Explorer. In all, there was enough here to make me think that I found my solution.

TFS 03

Pricing for Visual Studio Online, however, is somewhat unclear. As a MSDN subscriber, I have options for a free Visual Studio Online account. There are also buttons on the Visual Studio homepage telling you to “Start a FREE Account.” But if you look at the pricing page, it indicates that Visual Studio Online accounts start at the Basic level for $20 per month and that only user accounts are free. As cryptic as it is, I've used it without incurring any actual charges.

Features

As a one-man operation, there were several features centering on collaboration that I simply don't need. As mentioned, I wanted the ability to easily assign projects and tasks– especially when working at my day job, where I have enough time to have a great idea, pull up a webpage and make some notes about it.

TFS 04

I was also hoping to take advantage of version control. I want the flexibility to make changes without messing up working code. Many times the PowerShell modules I write break while I'm adding new features, so if I can keep the broken version in my environment while I have the working previous version, that would help immensely.

Version control was easy for me – and this is coming from a beginner. I could create my module in Solution Explorer, add it to source control, and associate it to the work task in question. Since it was my first time, I probably made a mistake by adding it to a sub-folder of my project. I received a warning that other users may have problems getting new builds of the software; however, I think I'm safe since I'm the only one working on my projects.

Takeaway

I'll continue using Visual Studio Online, as I like being able to add project and task items, and to connect directly into those tasks and projects when I get home. However, I will not be continuing my attempts to get TFS Express running on my laptop. It just wasn't worth the hassle. As for TFS for version control, I'm still working through it but so far I like what I've seen. I won't be done until I compare it to Git, which is also available through Visual Studio Online. But for now, I'm a happy independent developer.

Get our content first. In your inbox.

Loading form...

If this message remains, it may be due to cookies being disabled or to an ad blocker.

Contributor

Michael Simmons

is a Sr. System Engineer and writer that discovered his passion for IT after taking some computer science courses in college. After doing very little programming for nearly 10 years, his interest in code was rekindled when he found PowerShell in 2007. Since then he has been automating Windows operations, embracing the DevOps culture and writing down his adventures. He keeps a couple of blogs going at iLovePowerShell.com and geekSerious.com