TFS – Does It Suck?
I’m not sure, but I don’t want to find out either.
I’m currently tasked with recommending a new source control platform and a new defect tracking platform as well.
I’m late to this post from March 2010, but Martin Fowler posted an internal ThoughtWorks survey of version control tools:
I conducted the survey from February 23 2010 until March 3 2010 on the ThoughtWorks software development mailing list. I got 99 replies. In the survey I asked everyone to rate a number of version control tools…
…there’s a clear cluster around Subversion, git, and Mercurial with high approval and a large amount of responses. It’s also clear that there’s a big divide in approval between those three, together with Bazaar and Perforce, versus the rest.
The biggest offender? TFS with a 0% (yes, z-e-r-o) approval from the ThoughtWorks staff. Scary.
James McKay provides an interesting take on it:
Team Foundation Server advocates claim it’s unfair to compare TFS to other source control tools, since it’s not just source control, but an integrated end-to-end application lifecycle management solution. Comparing TFS to, say, Subversion, is like comparing Microsoft Office to Notepad, so they say.
Now where have I heard something like that before? Oh yes, Lotus Notes:
The main focus for frustration is Notes’s odd way with email, and its unintuitive interface. But to complain about that is to miss the point, says Ben Rose, founder and leader of the UK Notes User Group (www.lnug.org.uk). He’s a Notes administrator, for “a large automotive group”.
It’s regarded by many as an email program, but it’s actually groupware,” Rose explains. “It does do email, and calendaring, but can host discussion forums, and the collaboration can extend to long-distance reporting. It will integrate at the back end with huge systems. It’s extremely powerful.”
The thing is, it wasn’t the detractors who were missing the point. It was the Lotus Notes guys. You see, e-mail is right at the heart of any groupware application. It’s the part of the application that users interact with the most. It’s where usability matters the most. And it’s what Notes got wrong the most.
Is TFS really that bad? I haven’t used it or recommended it (mostly out of concern for cost), but 0% approval?
On a related note, I’ve been digging into Redmine the last few days to try to examine its suitability for a project that I’m taking over and new products that I’ll be bringing online. I’ve been really impressed with it, even compared to the excellent Trac. Compared to Trac, Redmine just feels more well put thought out (i.e. native support for multiple types of source control systems, native sub-projects, so on) and the UI is a bit cleaner and easier to use. I expect to be blogging about it frequently in the coming months.
Haters gonna hate. I have used TFS for a while. It has a few flaws on the source control side (offline mode, i am looking at you), but it certainly works correctly in the vast majority of cases. The bug/task/backlog/etc tracking is the real center of TFS for me. And that side of things is amazingly flexible and configurable and works just fine.
I haven’t worked with TFS so I can’t give a definitive opinion from my perspective, but I’ve used SVN with Trac and just recently tested Mercurial with Redmine. Redmine, in particular, is really pretty slick when it comes to defect tracking and general SCM type functionality. Check it out if you’re interested. There’s a well-implemented all-in-one installer that’ll have you up and running in 10 minutes for purposes of testing. I’m strongly leaning towards adopting it for my next project.
I’ve used Mercurial extensively over the last 6 months on a distributed project and found it generally a pleasure to work with compared to VSS and more suited to how I like to work when compared to SVN. I think some times, the folks that primarily work in the Microsoft solutions stack need to step outside of the box once in a while and see that there’s really a wide range of competitive options out there (open source and proprietary).
VSS just left such a bad taste in my mouth (stopped using it since 2006) that I’m frankly a little “scared” of making an investment in TFS.
Yes, it really is that bad.
I “grew up” using Visual SourceSafe, and then TFS, and having switched to Mercurial two years ago (and as an occasional Git user) I cannot imagine a scenario under which returning to a centralised VCS would make sense. Every now and then something comes along that is simply better than what was there before – DVCS is one of those times.
Yup, it sucks. TFS is a great example of a product with a major identity crisis–it does lots of things, none of them particularly well. And no one wants to integrate with it (think workflow or tooling), because the TFS licensing model sucks.