In the senior system architect course, under the topic - Branching Ruleset, it is mentioned that there should be separate team application for each team, which is built on top of the main/base application and then the branches should be created on the team application and finally merged.
Why would this be needed? Can we not achieve the same by directly creating the branches in the main application and then merge it using the merge wizard - as instructed/explained in the Exercise lesson as well?
I can think of below advantages with Team application :
1. Say we have a rule pyDefault being modified in more than one branch. Also, you have now got a production issue to replicate which also depends on the same pyDefault rule. The advantage of having branches in Team application would be to simply switch your application to Base application and test the same. If your branches were in the Base application, you will have to eliminate these branches to identify the issue. This is cumbersome
2. At any given point if you want to check the Guardrail score of the application. It's always advisable to evaluate the score from the Base application. If branches with on-going development are present in the Base application then the Guardrail score will include these as well, which isn't appropriate.