Think of a virtual service as a piece of code or a code artifact. They have to be versioned just like any other piece of code. Some organizations are doing four, five or even six concurrent releases and could have four, five or six copies of that same virtual service depending on when it’s going to implement into production.
Here’s an example. I start working with a baseline virtual service. I have code going in next week. I add new capabilities, not data, but new parameters, new infrastructure or changes.
My colleague is next in line. She needs to take a look at not only the baseline, but what I have created and build an “N plus two” version and then an “N plus three” and so on. You build on these just like you build on application code. The nice part is that they are XML artifacts that can be versioned very simply along with the source code. You do need to version your artifacts because it also gives you the capability to go back and test the situation that is already in production should you need to recreate a production issue.