Whether you are working on a small prototype or a big enterprise product, having a workflow for code releases is very important and fundamental. It just makes our life much easier and saves us from nightmares like prod rollbacks and code reverts.
And before we talk about the elephant in the room. Here are some obvious things from our dev workflow
As we tend to decide in advance, in every spring meeting - what features will go in the sprint. There is a high possibility - TBH it was 9 out of 10 times that, some feature would delay the sprint and we wonβt merge/release the sprint branch on decided date and time.
This created another set of issues,
We put a hold on creating any branch for the upcoming sprint
people are not sure where to point new features as the old sprint branch is still hanging in the middle of nowhere
some features/fixes get directly merged into dev meanwhile which can be missed if not tracked carefully
With all this, managing the sprint branch becomes a task on its own that -
It has not diverged from dev
It has correct changes
It doesnβt have any new changes which got merged recently to name a few
The Hotfix should be verified on pre-prod (alpha) β then only it should get deployed on main (prod)
main should be merged into dev for syncing the history back
Itβs not the thing itself, but how you use it β A.D. Aliwat, In Limbo
This workflow is not a rule of thumb that one need to follow. This is like a simple guideline if followed will make the team collaboration smooth and more like a simple routine.
So discuss with this among your team and see if this make sense for your need. And as always for more interesting reads keep an eye for future updates.