Unit Testing, Agile Development, Leadership & .NET - By Roy Osherove
Just to correct, because it is NOT a zero friction tool
I agree with both of your views! TFS does indeed introduce good management and the ability to report and track changes. However the 1.0 product is incredibly weak when dealing with offline. Which quite frankly (besides being shocking) is a pain for remote workers. It appears that MS approached the process side first and the source control (and offline) was at the end when they had a time crunch. TFS is a nice package that is rolled up, but when coming from a pure source control system that is designed for offline and concurrent edits it does come across as less than adequate.
The other thing that I'm surprised it doesnt do (and neither do a lot of other tools) is the lack of key words support (aka VSS and other older tools). The MS comment as I recall to this was something like "Seems easy enough to right mouse button **shrug**". Again for offsite users and when code to deployed to a customer site (stored procedures, scripts, etc) you can no longer tell what version they have without having to pull the 'code' in question and compare it.
Hopefully all of these will be covered in 2.0 :-), although I wonder how much the upgrade will be!
Gareth: Actually, TFS has a very powerful offline solution called a proxy server, which deals exactly with the issues you mention. It's a source control cache that sits at the remote site which makes things much faster (and trasperant of course).
Not sure what you mean by keywords. Can you elaborate?
First of all: I'm a huge fan of TFS ( beeing stuck with SourceSafe for years who's not? :) ) and I'm on your side of the case Roy. But I would agree with Gareth that when it comes to offline usage TFS isn't that great. The proxy server works well in a "offshore development office" scenario but is the proxy really an option when it comes to the "bring my laptop and work from home scenario"? I guess that the solution for this is to open up the TFS box for internet access using https. But all the fanatic sysadmin/security guys will definitely make you fight hard for that solution.
But offline usage will probably be better in V3.0...
Gareth is probably talking about the keyword expansion feature that SourceSafe had.
Offline support or not I think that TFS rules, TFS realy takes "Integrated Development Environment" to the next level!!
Roy - can you explain further what you mean about the proxy server being used for offline access (not to be confused with remote access)? Are you suggesting developers install the proxy server software on their machines, and they will have a painless offline experience?
Painless = dont make me dismiss a bunch of dialogs and change my source control bindings every time I want to work with my local code and I am not connected to the network.
Offline for me means that I can work on it at the coffee shop while waiting for a meeting, not working against yet another server.
True, the "coffeeshop" scenario is not working amazingly great at the momement. I won't even argue about that...
I totally agree with Oren that TFS has too much "friction" atm - friction on the users (ie painful offline, slow to commit, read-only bits), friction on managers (no good web solution - although this is solved now that MS have TeamPlain), friction on the bank balance (for SMEs the current pricing is too high, although at least this has been fixed for certified MS partners).
That said, IMHO I have to agree that the collaborative aspect of TFS as a whole is second to none. Although even there it is possible (although painful to set up) to get an equivalent setup using other tools (CC.NET, Nunit, Subversion etc). Some of these, such as subversion, have better integration for non-Visual studio development which can be particularly important if you are developing using 3rd party addins/tools.
Unit Testing /is/ going to be in all versions (except Express):
Yes, the offline support is awful. It's pretty much non-existant, unless you count unbinding, marking your files as not read-only, rebinding and running a command line as existant. ;)
That said, I work closely with the VSTS team on a daily basis, and they are doing some kick-butt stuff. Like you said, Roy, if this is 1.0, imagine what 3.0 is going to be like (I already can't wait for Orcas and Rosario!)
Just wanted to let you know that I followed up with Oren offline and had some good conversations about his points. It's hard to compare using VS with /any/ integrated source control provider with not using an integrated provider, and I ran into similar issues even using the MSSCCI provider for SVN (which is why we switched to TortoiseSVN at the time).
I posted a reply to his comments with some follow-up notes:
Subversion vs Team Foundation
Pingback from Elegant Code » A Positive Team System Rant
Pingback from jeremy burks - stack: A Ruby Build Tool For .Net Development
Pingback from Chris Holmes Online » Blog Archive » Ayende Bashes P&P