Wednesday, July 16, 2008

Get Your Team Foundation Server Hate On!

[Google ranking skyrockets... ;-)]

I'm a big fan of TFS/VSTS. However, there are a good pocket of folks who take issue with the way TFS handles or implements a certain feature. Well this is your chance to vent!

I'm planning a presentation around the "Top 10 TFS/VSTS Hates and How to Alleviate Them"...or something along those lines. But I need your help. Post a comment below detailing your dislike. If it's legitimate, I'll highlight it in the presentation and [hopefully] provide an alternative, resolution, or work-around.

Thanks in advance!

Update 7/19/2008: Version Control and Microsoft

15 comments:

pmontgomery said...

The grumblings I keep hearing are:

"It doesn't work disconnected" and "It doesn't get latest on checkout"

IDisposable said...

Horrible disconnected experience. But the "doesn't get latest on checkout" complaint is a cultural legacy mistaking the meaning of "check out" to mean Get Latest, instead of the actual meaning of "Pend Edit".

moke said...

These comments are based on my experience with 2005, so these might be layups...

1) The convoluted installation of SharePoint Services and SQL Server Reporting Services required to get the platform operational.

2) Complicated backup on server A and restore on server B process.

3) Inability to export a TFS project (source code, tasks, etc) and import into another TFS instance. This capability needs to be on a per project basis.

Jon Kruger said...

@pmontgomery,

Both of these are fixed in TFS 2008 (although some people don't think that it works that great... I haven't had to deal with it much).

My beef is the lack of an easy way to roll back a changeset.

Jim Holmes said...

Jeff,

My gripes around TFS/VS relate to awful, friction-filled, outright dangerous experiences with our TFS 2005 install. Check in on A, get latest on B and it's not what A checked in. Outright corruption of solutions. No luck resolving. I've lost, literally, a couple weeks of dev time over the last year cleaning up TFS2005 poo. Looking forward to a better experience in TFS2008 because it can't get any worse.

TFS's merge seems tetchy, particularly when having to deal with XML files like projects or configs -- but then I can't remember SVN being so hot on that.

TFS/VS compare/merge tool stinks. It's subtle, but I much prefer a real compare tool like BeyondCompare, or the old merge tool I used in my *nix days which I can't even remember.

Perhaps my biggest gripe is the entire MS test experience. UI for test runs? Laughable. Forcing me to deal with deployment items instead of looking at build configs and figuring out which items to carry along? Silly. Running tests in a directory separate from the build dir? Stupid. It's overly complex, brittle, and flat out broken (known bug) in VS2008.

MSBuild as it stands? Complete PITA to work with -- and this from an Ant/NAnt fanboy. The lack of a workable UI front for it in this day and age is stunning. I'm moving our builds to FinalBuilder and Team City for a much more pleasant, productive experience.

That said, overall I *LOVE* VS for its productivity. I'm an old Vim/Emacs guy and I nearly wet myself when comparing my dev exerience in VS to those days.

I also *LOVE* the lifecycle management aspect of TFS. I'm all over it. We've done extensive customization on a template to match our SureSolve agile process and it's an incredible breeze to work with. The ALM bits bring huge amounts of value to what we do internally and externally.

Sorry about the long Bellware-like rant. I love the majority of aspects of VS and TFS. I'm scads more productive in this environment than in any other.

Steve Campbell said...

I've only being using it a week, primarily for source control. Previously I was using Perforce. Suckiness so far, in no particular order:

* The vs.net integrated interface (sometimes I just want to work in source control, not vs.net)
* No easy way to set working folder
* No way to visualize file history
* No one-step way to undo checkout on unchanged files
* Other than solutions or folders, there is no way to group related changes (needs named changelists)
* No way to resolve merges without trying to check-in
* Nightmare restore-plans
* No slicing of source control data between projects, i.e. restore my teams source control, but leave other team's stuff alone
* No integration with previously existing sharepoint sites, i.e. we need to use *another* sharepoint site

I could go on, but I have things to do.

Anonymous said...

From @sillyevar

MSTest is unbelievably suckable. No way to run all the tests in one assembly. You have to run all in the solution, or all in a context.FAIL

Anonymous said...

From Lee Richardson:

Eight Miserable TFS Features>

Jeff Hunsaker said...
This comment has been removed by the author.
Jeff Hunsaker said...

A few I'll contribute:

1) The requirement to blow away the team project in its entirety for changes to the process template. Very painful.

2) The omission of a Windows Explorer/Shell-based version control tool e.g. Tortoise SVN.

3) Performing a Get Latest imposes the current date onto files on the file system as opposed to the date last modified; further, this isn't an option within Tools/Options/Source Control

4) Alerts require a hard-coded email address. This ought to just leverage one's AD account and do an email lookup. If you're outside AD, email entry is an option.

Anonymous said...

It's official! I hate TFS. I'm convinced that the only reason people give any type of positive feedback on TFS is that they're comparing it to SourceSafe which was even more broken. My major complaints are:
- The server connected model that is constantly causing problems. For fun run Fiddler and watch all the calls that chatty bastard makes.

- The horrible merge tool. It's unbelievable to me that that something as a merge tool wasn't a priority. This is by far my biggest complaint. The interface is garbage. It's doing a 3-way compare to a root file that you never get to see. The auto merge logic is crap and consistently flags conflicts that aren't conflicts and then auto merges code that does have a conflict.

I have to get back to work, but take this as a warning. I would never recommend using TFS

Scott Herbert said...

I've just about had it with TFS. There's lots to love, but my main problem is its complete inability to reliably merge .dbproj files. This results in our shop losing hours every week re-adding objects to the project that have mysteriously disappeared during manual merges in which no conflicts were raised in the merge tool.

Please see http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/e99b49cb-ddf3-4f39-98db-dca9ee36e1fa and http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/e99b49cb-ddf3-4f39-98db-dca9ee36e1fa for the hilariously inadequate "answers" to these concerns.

Anonymous said...

TFS 2008 has so many problems... Then someone came along and hacked it.

It looks like one of the Projects is corrupted now.

Steve Lawrence said...

No way to summarize all check-ins across all projects without resorting to DB queries.

After Language pack install all Web parts are broken and it seems no help with these either - Error: "The Week parameter must be in the range 1 through 5. Parameter name: week"

The problem is (and always will be) SharePoint - such an awful unusable, pointless waste of development time ...

Anonymous said...

From my experience the only feature that works flawlessly, quickly, consistently and does what what it was advertised to do without jumping through many hoops is Uninstall.

It should be the highest priority action for everyone when they encounter TFS.