[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
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
Comments
"It doesn't work disconnected" and "It doesn't get latest on checkout"
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.
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.
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.
* 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.
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
Eight Miserable TFS Features>
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.
- 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
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.
It looks like one of the Projects is corrupted now.
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 ...
It should be the highest priority action for everyone when they encounter TFS.