views:

339

answers:

5

We are a small Microsoft shop with 4 developers. We like the idea to have everything integrated and under the same SQL database but not to deal with too many features or a complexity we don't need. The other option would be to use two distinct third party tools. We also wonder if VS2010 version control and bug/issue tracking capabilities are comparable with the best third party tools on the market.

A: 

TFS is a great system but after having deployed and used it for some time I realize that the TCO is just too high to justify for a small team.

Sky Sanders
@Sky: Therefore, without a limited budget you'd recommend it?
devdept
only if you have someone willing to devote the time/inclination needed to maintain it. I have found when something goes sideways with TFS it is NEVER an obvious fix. That said, if you can 'afford' it there are many upsides. nested WorkItems and associating a workitem to a bug, a file, whatever are priceless.
Sky Sanders
@Sky: Mantain it? we need simply to do check-in / out and keep track of issues. What do you mean exactly with mantain?
devdept
lol. have you downloaded an eval and deployed it? that will give you a birdseye view of the moving parts that need looking after and fixing when things aren't working the way they should. So unless you have someone who is familiar with the ins/outs of Sql Server, Sharepoint and IIS and ready to get experience with TFS you may be in for a long road. p.s. by TCO, i was not focusing on the purchase price.
Sky Sanders
@Sky: we are starting evaluating it these days. Do you see? We have been evaluating Perforce ffrom a couple of months and the only thing we need to do is daily backups.
devdept
Yeah, I understand dev. I would say that for a small team that needs only issue tracking and version control that TFS is a step too far. There, I said it. lol.
Sky Sanders
+3  A: 

Some thoughts on TFVC in general -- note that I've never used TFVC specifically, but I've been in a similar situation a couple times. My main concern is that it's too little.

TFVC (Team Foundation Version Control) appears to be a client-server version control system. I don't know anybody who hasn't upgraded to DVCS yet. I've never used TFVC but I can't imagine what benefits it'd offer to outweigh the architectural disadvantage. (And before you ask: I only use it from my workstation in the office, where the network has never gone down, but I still use its distributed features every day.)

I also work at a small Microsoft shop with 4 developers and we have never once regretted using Mercurial. It's one of the few decisions we made that everybody seems to have loved. It's one of those moves, like switching to a language with GC, that you never want to even think about reversing.

In terms of support, I hope you found some way to get great support from Microsoft. Things will come up with any VCS and it looks like community support is a couple orders of magnitude worse than Hg or Git.

I can't say much about bug trackers -- I think they're all pretty much the same these days. I've installed a couple open-source ones in an afternoon, even with no experience. The major difference seems to be, if you go with a big-name one, you'll be able to find lots of tools and extensions that work with it. For example, there are a million and one extensions for reporting/testing/etc. for Bugzilla. TFS probably has similar things, for enough money.

Two other things I'd keep in mind:

First, even if you only want these 2 features today, you will want other features in the future, and it will be (sooner or later) something Microsoft doesn't offer. So it's best to make peace with 3rd-party tools ASAP.

Second, unless you miraculously happen to pick the perfect set of tools for your company's future growth for all time, you will at some point want to migrate away from whatever solution you pick today. So make sure it either provides a way to do a full export, or is popular enough that other projects are falling over themselves to write importers for it.

I guess this all sounds kind of negative for TFS. I didn't really mean it that way -- I'm sure it does some things really well. But unless you're rolling in dough already, save your money.

Good luck with whatever you choose!

Ken
+1: things go spectacularly wrong if not administered properly and the source control can be unintuitive for the uninitiated, even an experienced dev, leading to more training costs. I was on a TFS rampage at a shop I worked at that was integrating fogbugz and subversion and met with much friction until I realized it was I creating the friction and that subversion rocks.
Sky Sanders
A little bit wordy but some great points +1 from me
Chris McCauley
+4  A: 

With TFS 2010, there is a TFS Basic version/configuration options. You can use SQL Server Express as the database, the install is simple and quick and you can install it on a client OS. It includes version system, work items and build system (no sharepoint, reporting...). Price should not be high, the target users for TFS Basic are those used to use SourceSafe. Also if you have MSDN, there is a change that it goes with it, so you would not have to pay extra.

Igor
@Igor: What about capabilities, are TFS 2010 version control and bug tracking powerful enough? I read so many bad old reviews on VSS...
devdept
Dev.. VSS != TFS in any way.
Sky Sanders
And yes, there is a 5 user workgroup edition that is free to use if you have an MSDN for at least one VSTS SKU. I don't remember that it was crippled in any way except for the user cap.
Sky Sanders
Just the user limit. No other limitation.
Igor
TFS is robust and reliable (e.g. codeplex is running TFS).
Igor
TFS via codeplex is painfully slow. I switched to SVN the minute they released it.
Sky Sanders
The "SvnBridge" client released by the Codeplex team still talks to the same TFS servers on the backend...
Richard Berg
@Everybody: We installed the TFS basic configuration for evaluation and after a day of work on it I have to say that having all these tools inside Visual Studio 2010 is really fantastic...
devdept
+1  A: 

TFS work ittm tracking is awesome. Whatever your workflow is and the information you want to gather, you can do it easily with TFS.

Most expect TFS to do what they do out of the box as if it were omniscient. Unfortunately, you do things slightly differently than me and I from everyone else. The key is making it easy for the many different roles in your organization to get and input information into whatever your work tracking system is.

There is a plateau you will reach with custom, cobbled together tools that you won't get from cross referencing information along the product development process. TFS removes that barrier. The second barrier is knowing how to consume the information and that takes training and experience in effectively managing projects.

TFS Version control is certainly the low point when compared to the industry right now. DVCS popularity exploded about the time TFS came out. That said, Brian Harry has stated that TFS "fully expect that we will be adding distributed version control to TFS." http://blogs.msdn.com/bharry/archive/2010/01/27/codeplex-now-supports-mercurial.aspx

Take that as you will.

Ryan Cromwell
@Ryan: Does it take so long even to learn using the basic TFS configuration? Thanks.
devdept
+3  A: 

TFS is definitely too much. Have a look at VisualSVN as a version control for Visual Studio (it is Subversion under the hood). And with Artifacts you can keep bugs under the same version control.

Fyodor Sheremetyev
If i could +10 you i would.
Sky Sanders