GaryH
GaryH

Reputation: 73

How do I organize many projects on Team Foundation Services (TFS in the cloud)

How do I organize many projects on Team Foundation Services (TFS in the cloud).

I have about 300 solutions (with multiple projects in each solution) that I want to source control in TFS. The problem is how do I organize them?

A little background: I am an contract developer so I work for many clients and have many projects written in VB and C# ranging from VB6 to .net 4.5 and everything in between.

Upvotes: 7

Views: 4686

Answers (2)

David Smithers
David Smithers

Reputation: 2364

Since you are creating different projects for different clients I’d organize your solutions by client.

I’d have a total of one project collection and one team project per client. Then inside each team project you can structure the solutions any way you like.

Upvotes: 0

gregpakes
gregpakes

Reputation: 4535

I think the key is to understand the organisational structure on offer to you with Team Foundation Service. How you choose to organise it is ultimately up to you.

You have the following available to you in Team Foundation Service.

  1. One Project Collection
    • In normal TFS you can have many Project Collections. In Team Foundation Service (at the time of writing), you can only have 1.
  2. Team Projects
    • These are the projects that go into the Project colection.
    • You can put many solutions into one Team Project or you can simply have one.
  3. Source Control Folders
    • Each project obviously contains Source Control folders, so these could be further split up into projects.

I don't have as many projects as you, but I do something like this:

  1. Create dedicated Team Projects for major projects (solutions)
  2. Put similar minor projects (solutions) into one Team Project
  3. You can even nest things further. I have included a real world scenario I use for the SSRS report we write.

See below for an example how I do it:

  • Collection (Project Collection)
    • Major Project 1 (Team Project)
      • trunk
      • branches
        • branch 1
    • Group Of Minor Projects (Team Project)
      • Minor Project 1
        • trunk
        • branches
      • Minor Project 2
        • trunk
        • branches
      • Minor Project 3
        • trunk
        • branches
    • Major Project 2 (Team Project)
      • trunk
      • branches
        • branch 1
    • Group of SSRS Projects (Team Project)
      • 2005
        • Clients
          • Client1
            • trunk (Optional)
            • branches (Optional)
          • Client2
          • Client3 Shared (All Clients)
      • 2008
        • Clients
          • Client1
          • Client2
          • Client3 Shared (All Clients)
      • 2008 R2
        • Clients
          • Client1
          • Client2
          • Client3 Shared (All Clients)

One point to remember is that builds are separated by Team Project. So this might impact your decision further.

Upvotes: 7

Related Questions