views:

136

answers:

4

I am the only the Developer in a relatively small shop that does make a lot of custom apps of all kinds. Money is not a factor in this discussion so aside from that What are some reason's, for and against, for me to use the Team System.

We currently rely heavily on VS2008 Pro, Visual Source Safe. I could really use a better Source Control and Project Management System and I am wondering if there are any reasons why I shouldn't utilize them.

Thoughts?

Thank you!

+2  A: 

If you have a TFS license, by all means use it (you may have it if your company is a premium MSDN subscriber - IIRC you get TFS Workspace edition, which is restricted to 5 client licenses, with that). If you do not have it, then it can be pretty expensive, and doesn't really offer you much that you can't get with SVN and the corresponding Visual Studio plugins.

TFS shines not as version control system, but as integrated VCS + bug tracker + build system.

Pavel Minaev
Great, can you think of any reason that I shouldn't use it, outside of price?
Refracted Paladin
Its source control philosophy is more similar to SVN (in fact, I dare say that if you know SVN, you'll generally find TFS concepts very familiar, though under totally different names). These days it seems that distributed p2p systems such as Git are all the hype, and many people believe that SVN-like approach is outdated. Another obvious problem is that you get a lock-in to TFS, which is closed-source, and its repository format is undocumented.
Pavel Minaev
Another thing. TFS is mainly oriented towards working with repository which is either on the same local network, or with a fat pipe to it otherwise. In other words, working in the office. Its network usage is far from optimized - it uses web services for everything, and often transmits files as a whole, rather than diffs. Some operations require live server connection outright (e.g. can't revert local changes without it, unlike SVN); there's "offline mode" to work disconnected, which mostly works, and generally good enough for occasionally taking work offline, but only so much.
Pavel Minaev
+1  A: 

VSTS give you all the architect, database and test capability that pro does not have. You also get code analysis and code coverage. None of it is necessary, but a lot of it is very nice. And, if it's just for you, you could look at Perforce for source control (it's free for 2 accounts and not as heavyweight as TFS).

Edit per comment: Yes, we use CruiseControl.NET for our CI and for solo dev, take a look at BugHost.

JP Alioto
Great, thanks for the alternate sugestion. Any thing elso you would suggest to provide the rest of the functionality tha TFS would have? Bug Tracker + Build System+
Refracted Paladin
+1  A: 

Like you, I do a lot of work as a single developer.

I have a TFS Server set up and use pretty much every aspect of it. I rely heavily on the Work Items to keep track of what I'm working on; I use the build server with CI enabled to do deploy to my staging set up and automatically run web tests.

I also use the code analysis and other features to keep my code tight. In short, even as a single developer it helps me tremendously.

For me factors are either Price or Time. In my case time is more important. With TFS, I don't have to spend the time screwing with a medley of open source systems to keep the environment going. The integration alone keeps me more productive. The builds with automated testing mean I spend less time clicking on buttons to see if anything breaks and more time coding them.

In short, if you can do it, I highly recommend it.

Chris Lively
A: 

Borland's StarTeam