Using TFS, we have the following:
- A main baseline
- A development branch for each development effort. These get merged back to the baseline.
- A release branch that is created with each release. Bug fixes are made here, released, and merged back to the baseline.
- Using shelvesets, we can share code across development branches if needed without contaminating the baseline. Useful for code reviews.
- When we deliver our development changes to baseline we have an automated build that kicks off and automatically places our changes on the test server.
The problem is that the business analysts can't see our changes until they're on the test server, and currently the only way to get our changes on the test server is to check them into baseline. So if the BA's find something wrong, the code is, unfortunately, already in baseline and we would have to go through the trouble of taking it back out.
Is there a way we can change our branching strategy or process to get the BA's what they want to see without contaminating our baseline?