Team Foundation Server: Tips for the individual developer
- select the contributor at the end of the page -
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.
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.
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.
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.
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.
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.
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.