Wednesday, August 31, 2011 9:39 PM Sean Feldman

TFS

There’s no perfect software. If it would exist, we’d never build a newer one.

There’s also software that should never be built from the beginning. TFS is one of those.

I’ve used it for the past 3 months, and it was way far more than just an unpleasant experience. I have previously worked with VSS, TFS, and Mercurial. I am somewhat biased, yet towards proper work experience and quality of tools.  These are the issues that I have had with this software.

1. When getting latest of the project, the UI doesn’t show what’s coming down. In order to be able to see it, one has to go through “View History” on solution, which shows changes on a solution file only. After than, and extra step is to remove solution (.sln) file from the path and refresh to see the log. Possibly there’s another way, but boy this is painful.

2. Changed password on TFS server caused VS.NET 2010 to freeze.

3. Renamed and committed file was reported as missing on a following commitment.

4. File marked as checked-out despite undoing changes (this is one of the biggest issues I’ve had with TFS. The notion of checking file out is so native to old and ugly VSS, that it just felt like going years back into dark ages).

5. Online/Offline explicit concept – horrible. Great if you work in the office only and never work out of office. But when you do, it just becomes an annoyance.

6. Going online/offline requires to re-enter credentials. Really? Why not to keep it optional? Why not to allow credential saving? The tool is supposed to work for you, not against you. Big deal you say. Well, when you work with external (to organization) TFS server, and have to enter domain_name\user_name and password that is for security purposes generated as an insanely sequence of random characters – it is painful.

 

7. Remember how VSS one day would just loose your commits? Same feeling you get when TFS doesn’t detect changes done “offline” and throwing this message at you (yes, laundry services where required at that moment).

image 

8. Non intuitive UI (some commands are in context menu, some in toolbar menu, like Exclude file). You can’t call VS.NET 2010 interface “a lick-able” UI, though TFS is complete fiasco on that. A good example – select all files for commit (highlight all files, and click spacebar).

image

9. Merging conflicts is cumbersome (non-intuitive UI, file marked as in conflict, and just opening it resolved it, believe it or not!?!).

10. Bulk checkout when unneeded – edited ASCX file, but code behind AND designer files were “checked out” and committed… old good VSS days bubble up in my head.image

11. Explorer based visualization doesn’t work when you are offline at all, something that other tools providing.image

12. Undo Pending Checkins not always actually does what it claims to do… Surprise, surprise.

13. Can’t search comments history. Wow.

I can go on and on, but at this point it’s enough. As for our group – we won’t utilize TFS after this project. As for myself, I will not touch this thing that can’t even do one thing, but do it well. Yes, it’s coming from MS, yes it can manage project, items, etc. But if it can’t properly serve the sole purpose it was created for, what’s good in it then? The good part - there are plenty of alternatives (SVN, Hg, Git, etc.).

Update 2011-10-11

14. Today it just blew in my face when I tried to commit changes. Apparently, the database behind the monster refused to cooperate with the message “Database is full. Contact your administrator”. Wow, for the whole time I’ve used Subversion never I encountered a message/issue like this one. Great job, TFS. Not to mention wasted time till the issue was fixed by system administrator…

Comments

# re: TFS

Thursday, September 1, 2011 9:08 AM by Josh

For issue #1 open your output window and select "Source Control - Team Foundation" it will show what was changed.

# re: TFS

Thursday, September 1, 2011 11:50 AM by Sean Feldman

@Josh,

Thank you for noting that option. Unfortunately, I was not clear enough as per why I was looking for that functionality.

The idea behind notification is to be able to act accordingly. When you see that a certain file was modified, you want to compare changes. With Output window you cannot do that, making Output window for Source Control - Team Foundation absolutely useless.

# re: TFS

Friday, September 2, 2011 4:32 PM by Sean Feldman

@Chris,

Thank you for the comment. You just said what I couldn't - TFS was getting in my way of doing work :)

# re: TFS

Sunday, September 4, 2011 1:04 PM by Josh

@Sean

There is a pending changes window that shows you files that you have changes in and that a new version exists on the sever. You can then compare what the server change is, compared to yours or the previous version, etc.

# re: TFS

Sunday, September 4, 2011 3:19 PM by Sean Feldman

@Josh,

You are right, with several mouse clicks and shortcuts I will get to what I need, but it's just "noise" and really getting in the way of working. And if this would get resolved, believe me, it's not the major. TFS as a SCM system in my opinion is weak. I sincerely don't care about it's capabilities of managing agile project, bugs system, etc. if it can't do what it was built for and do it well.

At this point I am disqualifying the tool for my use. Maybe someday it will get to the point I would consider it, but till then I will stick to better alternatives.