I have an issue in my current position that I was wondering if you could help me with. I'm a Mobile QA and I've just finished testing a large iOS release. It's on TestFlight now and ready for release. However, we have decided to hold off on releasing it for another 2 weeks (the issue of why isn't relevant).

We want to start developing features of our next release as soon as possible (just finished planning today), but we aren't sure on what to develop on, master branch or our planned release branch. There is a small chance that there could be changes over the next 2 weeks to our unreleased branch but we can't say for sure.

Is there an established procedure or answer on what is best to develop on? Master and then merge upwards or just develop on the unreleased code. Both projects will be released separately so we can't merge the tickets together.

Thanks everyone for reading. Hopefully I was clear.


You should make a new branch from master branch anyway. The only changes which might go to the master branch are bugfixes. So the process should look like the following:

  1. You make new branch from master. Now you have absolutely the same code as master has.
  2. Developers develop the code in new branch, testers test the code in new branch
  3. Since the master has the "old features" there should be the tests already in place
  4. After bugfixes has committed and merged into master you merge master into your dev branch. Since master contains "old" features, you then run regression testing against your new branch just when your process implies the regression phase.
  • If master doesn't (yet) contain the changes for the current release, I would also suggest merging the release branches changes in to the new branch avoid any merge conflicts later on. – Chris Kenst Jul 2 '18 at 17:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.