In my previous developer roles I’ve gradually migrated into being the Source Control Guy, the one that runs the Source Control and generally chooses which one to use. At the same time, I generally get the option of picking the Bug tracking software.
Admittedly, typically this is coming from an existing Visual SourceSafe (VSS) system with no bug tracking, to something else, which by anyone’s standard is an improvement, (for those who want to know I’ve typically gone with SourceGear Vault as the SCC, FogCreek’s FogBugz for the tracking, (and for completeness) CruiseControl .NET for the Build Server).
I’ve never attempted to recommend a TFS system, for a couple of reasons, most times it’s seemed a bit too heavy handed for what we’ve been doing, and the classic business issue of cost. Now, I appreciate that I may (as most people in the development world) have misunderstood the cost, but what matters is how it’s perceived.
Anyhews, I’m currently in the situation where I actually have access to a TFS server and we’re evaluating the benefits of moving our existing codebase to the TFS system. Currently we’re using Subversion for the source control (perfectly good), JetBrains’ TeamCity as the build server (again – nice) and Service Desk for bug tracking (ugh).
Now, the big question here isn’t what can TFS give us over the current situation, (improved bug tracking, reportability, better handling of MSUnit tests – In silverlight), but is there enough improvements to justify the upheaval? And it is an upheaval, switching source control is bad enough, switching source, build and bug in one hit is expensive in terms of time and mental switching.
But the elephant in the corner is What about other solutions? We already have SVN and TeamCity (albeit the free version), why not simply improve the bug tracking with something like JIRA or FogBugz? Is going wholesale one route correct?
Another elephant (so to speak) is developers not on the Microsoft stack, Java developers for instance. Can TFS work well for them? Would it be more of a hindrance? I know things like Team Explorer Everywhere, and Subversion clients both work with TFS, but do we lose anything using it that way?
So many questions…
Meh.