Branch & Merge in ALM
Our company has a dilemma situation recently. We have a PROD model (deployed mode) and a DEV model (standard mode). We are adopting ALM as the best practice. Recently the DEV model is under construction, multiple tasks are being performed and untested, so we cannot synchronize DEV to PROD in a near future.
However, an urgent new import button(with new action) needs to be added to PROD model ASAP. Is there a way to add this new feature only, without any other DEV changes. This is like making a branch in GITHUB/TFS/CVS and at a later time, merge the changes with other branches. Does Anaplan support this approach?
Another possible way is: we make this change directly in PROD (which needs the mode changed first), or make this change in a copy of PROD and then sync to PROD. But my tests proves that the PROD can never be synchronized with DEV any more if we did this, could anyone confirm this?
Best Answer
-
(Another possible way is: we make this change directly in PROD (which needs the mode changed first), or make this change in a copy of PROD and then sync to PROD. But my tests proves that the PROD can never be synchronized with DEV any more if we did this, could anyone confirm this?) - My suggestion would be Donot do this. This will leads to breakage of connection between Dev and Prod.
There is a way to push the changes without moving all the existing changes.
Please follow the below steps to achieve this.
Step 1: Create a revesion Tag in your Dev Model. Lets say "RT 13" (All your existing activities).
Step 2: Roll back your model to the Restore ID before previous revesion Tag ie is "RT 12" in your Dev model.
Step 3: Then do your quick fix, in your case Adding import button. Then Create another Revesion Tag called "RT 14".
Step 4 : Sync this "RT 14" with your Production Environment .
Step 5 : Now again in your Dev Model, Roll back the history to Restore ID before "RT 13" and don't forgot to do the same change(RT 14 Quick Fix) that you have done as a quick fix and start doing your existing work.
So in this way we can arrive your solution. Hope this solves your concern:)
Thanks,
Kavin.
6
Answers
-
The best practice is as @kavinkumar describes. This is what we call the "Back to the Future" methodogy.
The details and diagram explaining it can be found here:
This does need to be followed exactly and methodically, and is best praticed in a test model to ensure you are comfortable.
This is best practice and is used by many customers successfully, although the downside is you need to pause development whilst the process is completed
However, there is a "get out of jail" card, but this should be used with extreme caution. In the production model you can take it out of deployed mode, make the structrual change and put it back in dpeloyed mode again. However, DO NOT CREATE A REVISION TAG. If you do that it will permanently break the link.
At a later date when the development work is complete and includes the action needed from above, in the production model, you can "revert to last revision tag". This is done in standard mode and will out the production model back to it was before the "hotfix". Set the model back to deployed mode and then you can synchronise as normal
More details on this can be found here:
https://help.anaplan.com/anapedia/Content/ALM/Revision_Tags/Working_with_Revision_Tags.html
Good luck
David
1 -
Much appreciated Kavin, very specific!
I was able to test this approach without a problem.
0 -
I like the "Back to Future" approach as much as the movie:) Thank you very much for your tips, David!
0