At work the Team Foundation Server (TFS) admins have created two separate TFS environments. One called Devl01 and the other Prod01.

Is there even a remotely legitimate reason for doing this and in what sense?

Just to be clear, I can get to the two different environments in this fashion:

Where ProjectAlpha are completely different TFVC/Git projects.

It appears that each 'environment' is simply a different 'collection name'. And within each collection are different projects.

I've also been able to gather that they use the different environments for 'testing extensions' which still makes no sense. We're also so behind the times here that they were testing the build/release part of TFS in the Development collection (tfs:8080/tfs/Development).

  • 1
    I can't really think of a good reason why one would want to do this. Commented Nov 28, 2017 at 1:03
  • You don't mention which version you're using, but IIRC branching is a little cumbersome on some versions. As a general theme some shops simply prefer to have their live and dev code in completely separate repositories. I've never really understood this myself but I have seen it. Probably more of a question for those who have set it up.
    – Robbie Dee
    Commented Nov 28, 2017 at 9:29
  • Can you clarify the usage? They are two databases in the same instance (=environment). Commented Nov 28, 2017 at 13:01
  • I've added a little more information which I hope some of you find useful.
    – gh0st
    Commented Nov 28, 2017 at 15:43
  • Are these two copies of the same source code?
    – 17 of 26
    Commented Nov 28, 2017 at 16:01

1 Answer 1


A TFS collection provides logical and physical separation of a group of team projects, which can be important and useful in areas such as:

  • controlling/limiting access to sensitive code/data
  • creating environment-specific templates and processes
  • performing separate operations (such as backup) on the collection databases

You may want to have one person as an administrator of the Production collection, for instance, and a group as administrator of the Development collection.

Work item templates are defined at the collection level, so you can safely make changes to templates in the development environment without affecting production.

You could also use the development collection to test/try out modifications to production projects as a dry run before performing the same task in production.

When using only a single collection (and depending on governance discipline), and especially with a large team, that collection can quickly get full and messy. Many ad hoc test projects get created and are abandoned or forgotten, and no one knows if they can be safely deleted.

A separation allows minimal changes to the prod collection, while giving others more or less free reign to experiment in the dev collection.

One alternative would be to have completely separate servers for dev and prod instances, which would allow you to test out TFS updates and upgrades. With multiple collections on one instance, the upgrade would affect both simultaneously.

  • I don't think our administrators realize that an update on the tfs server will influence both dev and prod collections. I should try to confirm they know this.
    – gh0st
    Commented Nov 28, 2017 at 17:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.