I am sorry this is not a C# blog today. I am still in TFS land :-)
Recently I was talking to different people about when to create a new TFS project or reuse an existing one.
Here is what I got out of the conversations:
- Too many projects slow down the server and are hard to maintain. (Depending on the project type, TFS 2008 has an upper limit of around 200 - 500 projects)
- Security on too many projects can be very hard to maintain (especially keeping track of current permissions, removing expired permissions, etc.)
- Using the built-in TFS Groups in TFS is usually enough. Add NT accounts/groups manually to certain permissions if you have to.
- If the intent of adding a project to TFS is simply to have Source Control, try to stick it into a group specific (generic) TFS project. Move it later if necessary.
- If you don't know exactly how much project management will be included or how big the project will be, stick it in a current TFS project and move it later.
- Moving Source control Items from one TFS project to another works great and is very easy. The history is still searchable.
- Moving Work items is super tricky and should be minimized. See http://blogs.msdn.com/granth/archive/2008/06/26/how-to-move-work-items-between-team-projects.aspx
- Separating Source Control and Project Management causes more work, because you have to modify the default queries.
- IF you need exclusive permissions for the same user => new TFS project
- IF you need different Template => new TFS projects
See http://msdn.microsoft.com/en-us/library/ms242894.aspx for a more thorough analysis.
I hope this might help you.
Tom
P.S.: Special thanks to Scott, Robert, and Jeevan for all your input and being a great sounding board!