Alert: Technology gripe post. You have been warned.
I’ve been using TFS for a little over six months now and despite having its good sides, it also rears several quite ugly ones. I’m not going to harp on the obvious feature deficiencies such as branch and merge because we all know they aren’t in there and that comes down to a technology choice. No, the things that really get under my skin about TFS are things that should be basic to any piece of software.
1) Check In, Lose Comments
* This is an extremely frustrating flaw in TFS for me. If you check in, but a later version of the project or file you’re working on exists on the server (common in larger teams) then the project must be reloaded. After the project is reloaded, selecting CheckIn displays the exact same dialog you were in thirty seconds ago sans comments. Urrggghhh! I now always copy my comments to a clipboard or write them in textpad prior to nervously clicking the CheckIn button.
2) Updating list of changesets and work items – Please wait while we waste your time
* Does anyone else remember when a build took less than ten seconds to complete? I know that I do. If I press Ctrl+Shift+B in Visual Studio, the entire solution is built in about three seconds. If I right-click the solution and select Run Test(s) then all of the unit tests run in about thirty seconds. Why then, please educate me dear reader, does it take a full three minutes for a TFS build to do the same things!?!? Sigh.
3) Working Offline – I just need to edit this one file …. rrgghhh … come one … rrggh … oh screw it!
* Perhaps in happy TFS land there is a place where internet connections are never lost and even the clouds come fitted with wireless network bridges. However, that is a far cry from where I live and work. We’ve all been there. You’re offline, you need to make one small change and…nope…you’ve been sent to TFS connection jail. Enjoy your stay!