Our team has just started using source control to manage the source code, we have multiple scrum teams which work in various projects. Current environment setup is one shared development sandbox, one integration testing sandbox, three UAT for different monthly release (align with other integrated system release), one stage and production. A development team is planning to deploy their work for next month release from the integration branch merge into UAT branch and then deploy the work into UAT org. So QA team can start testing. We are in Agile model and the same development team is also working their iteration work in developer sandbox then continue pushing the iteration work in integration testing environment for integration testing by QA. Now this integration testing org and integration branch have contained the next month release codes and iteration codes. When UAT testing starts, and defects have been discovered. How can we (release management) mitigate the risk of the developer won't potentially carry the iteration work when they fix the next month release defects in integration testing org. What's the best pracitce for handling this situation? Where should developer run the unit test for the fix but won't affect the iteration work?