1

We have a web project with a framework that is shared between projects. Every project uses that framework. Beside that, every project has multiple customers with different features that will not be merged into the main product.

Common (Shared)
    Product 1(Uses Common)
        Customer 1 (Feature List 1)
        Customer 2 (Feature List 2)

    Product 2(Uses Common)
        Customer 3
        Customer 4

Check-in policy is the same among all. but permissions to every project might be different. deadlines for each customer per product is different.

Should I use different solutions in a single Team Project for every product?

How should we organize projects in TFS?

Edward Thomson
  • 74,857
  • 14
  • 158
  • 187

1 Answers1

1

Generally: KISS applies, complexity just makes life harder for the developers (there will be enough complexity

Check-in policy is the same among all.

Consider that check in policies could be taken to indicate a lack of trust in the developers. And if you do not trust them, then how can they create products you sell? This will not help create quality results.

but permissions to every project might be different. deadlines for each customer per product is different.

That would drive separate solutions.

How about treating the framework as a common external product (just developed internally) which the customer projects reference like another third party product. This has the advantage of meaning that changes to the framework can be applied to each customer project in a controlled manner: a significant update would be a bad idea just as you are about to deploy!

A lot of useful information in this C9 video: Source Control Strategies Panel

Richard
  • 106,783
  • 21
  • 203
  • 265