Como posso ramificar meu código de maneira a tornar possível o teste sem contaminar a linha de bas

Usando o TFS, temos o seguinte:

Uma linha de base principal Um ramo de desenvolvimento para cada esforço de desenvolvimento. Eles são mesclados de volta à linha de base.Um ramo de lançamento que é criado com cada lançamento. As correções de erros são feitas aqui, lançadas e mescladas de volta à linha de basUsando prateleiras, podemos compartilhar código entre os ramos de desenvolvimento, se necessário, sem contaminar a linha de base. Útil para revisões de código.Quando entregamos nossas alterações de desenvolvimento na linha de base, temos uma compilação automatizada que inicia e coloca automaticamente nossas alterações no servidor de test

O problema é que os analistas de negócios não podem ver nossas alterações até que estejam no servidor de teste, e atualmente a única maneira de obter nossas alterações no servidor de teste é verificá-las na linha de base. Portanto, se os BAs encontrarem algo errado, infelizmente, o código já está na linha de base e teríamos que enfrentar o problema de retirá-l

Existe uma maneira de mudar nossa estratégia ou processo de ramificação para obter os BAs que eles querem ver sem contaminar nossa linha de base?