Is it possible to have the upgrade and redesign in parallel? From the development standpoint, the answer is 100% yes, but what to consider then? This is a question that came to me by few merchants. It seems to be impossible when they were talking with some teams, but not with others. What are the points that a technical architect might help them to see was the question?
Upgrade and redesign limitations
You might see limitations from the current technology and team that you have, saying that. Let's analyze the Adobe Commerce infrastructure.
The image below shows the Adobe Commerce / Magento Cloud architecture by branches and environments. As you can see, we have different branches that allow merchants and development teams to have multiple validations running. It doesn't need to have all environments enable, you can have your developers working locally. The developer doing the QA, merging, and adjustments to push to one of the environments in Magento Cloud. You can even call them "upgrade" and "redesign" environments.
If you face issues to have changes in parallel in your team, I highly recommend you to look into the Git Flow strategy. It's a very good way to have your team working in parallel without many code conflicts.
You need to analyze your current scenario, but I will share a simple plan that might help you not start from scratch. Let's start talking about the redesign, you need to measure your capacity vs effort needed to allocate more or fewer developers to some tasks. The upgrade might have the same analyses.
Let's say you have 4 developers working with the redesign, on different pages. Probably you might have more than 2 developers working with the upgrade.
An easy formula to measure the number of devs required to do the extra verifications will be 4 x 2 = 8. Then get the 8 and remove the total of devs planned, so it will be 8 -- 6 = 2. It means that you might be able to predict at least 2 developers for QA, code review, and overview the implementations. You might have a CTO or TA (Technical Architect) who is going to be a final advisor of the project heath.
Linus Torvalds created GIT for this purpose, our part is to plan how to use the tools available in a way that might fit with the current scenario.
As a technical architect, my main goals during this whole process are to measure and reduce risks, predict scenarios, validate and approve approaches. Let me know how will be your next project!