views:

34

answers:

2

We're currently using Visual Source Safe and BugNet and looking to migrate up and away from VSS. I've been pushing for either SVN ( a) we're an ASP.NET shop, b) DCVS is not an option - no matter how much I like Hg ;-) or TFS. Well we finally got a new dev server, so I talked the boss into installing TFS on it (30 day trial). In the meantime, we had started experimenting with FogBugz. We really like FogBugz for about 80% of what we want to do, and the other 20% is probably stuff that we don't know what we want.

I'm pushing for TFS because it allows for IDE integrated (mostly) everything.

He's pushing for FogBugz because he can group tasks by customer and then project and manage everything from one dashboard. (which means I lose most of my IDE integration - no huge loss I agree)

Does TFS support a single dashboard that would span all our solutions (in this case each solution is a full app that we sell to a vertical market client) and let us assign workitems to each solution-spanning-group?

So for instance I think we envision something like this:

PROJECT1 - Bugtracker and workitems PROJECT2 - Bugtracker and workitems PROJECT3 - Bugtracker and workitems

CUSTOMER1 - Deployment schedules, required features, specific notes (Uses PROJECT1, PROJECT2) CUSTOMER2 - Deployment schedules, required features, specific notes (Uses PROJECT2, PROJECT3) CUSTOMER3 - Deployment schedules, required features, specific notes (Uses PROJECT1, PROJECT3)

Hopefully that makes sense. naturally it's more complicated than this but I think I've given the details enough to paint a picture.

I offered the option of creating dummy projects per customer but he doesn't like that and it doesn't really give us the single dashboard view that we're hoping to end up with (and that FogBugz as we've sorta implmented things does do now).

Has anyone got a good suggestion on a management app that would accomplish what both of us want?

EDIT: since I got some good responses (albeit not what I wanted) I'm going to close this for now. However, I think this is something that would be a good thirdparty market and/or a feature in an upcoming TF release. Feel free to post with more ideas if you come across this later.

A: 

One way to do this is would be to have a single team project that covers all of your solutions and use subfolders in source control and items paths on your work items to separate feature requirements, bugs, and so forth by project.

It's the customer specific information across a subset of projects that you'll probably need to do some customisation in order to report on since you have a many-to-many relationship that TFS work items don't support out of the box.

Hope that helps

Richard Banks
Yeah, it's the many to many that's sorta killing my hopes for having anything non-custom. Hopefully somebody on SO sees this and has an option that involves TFS.
drachenstern
+1  A: 

TFS allows you to have multiple Team Projects. Each is effectively a root folder for source control. However, you can move files/folders between projects in source control, and the Work Items are global (shared across all Team Projects). For Work Items all the projects do is provide a level at which you can filter out work items (so you look at bugs only for this project, etc).

So Team Projects allow you to nicely compartmentalise your projects, but they are only virtual compartments, with few limitations on moving items between those compartments.

The only problem I've found with multiple Team Projects is that you have to branch a folder (and cannot branch a Team Project) so if you wish to make a branch that spans several projects you have to have several branches, which means severwal workspace mappings and several merges for each operation.

For customers we simply added a custom "customer" field to our work items that allowed us to relate a work item to a spacific customer.

When you look at work items you can then apply SQL-like filtering (e.g. TeamProject=@Project AND Customer="BiggsAndCo" AND WorkItemType="Bug" would find all the bugs reported by BiggsAndCo in the current TeamProject)

There are a lot of third party add-ins for VSTS to enhance the TFS experience (thankfully, as raw TFS provides very basic and clumsy UI), and you can use the API to write your own tools to query the TFS database too, so you shouldn't have too much of a problem getting a dashboard thta you find useful. You'll need to do some searches to see if the solutions out there match your requirements though.

Jason Williams
+1 - Agree with everything, mostly. ;-) One thing that could help, in addition, would be custom SSRS reports that query cross-project. It would be easy to create a "Customer Defect List", for example, and key off the customer dropdown added to the WIT from your scenario.
joseph.ferris
Ok, so custom reports are good, but what about submitting items cross project from one dashboard? For instance, if we're looking at Customer 1, and they have a specific need for something on Project 2, how would I fire that bug for Project 2 from a generic form? I think what we need is either to NOT use TFS for this, or to do a lot of fancy integration (time that could be better spent on writing useful code?).
drachenstern
And yes, navigating TO Project 2 FROM the report would be fine, except that's not really seamless, and introduces a lot of clicking...
drachenstern
Depends on the client, too. If you have someone who is using the Web Client, it isn't as bad. I think that all the tools you are looking for are there, I just don't think that you are going to find a shake the box solution in TFS. Half the fun is extending it. ;-)
joseph.ferris