Team 1 Team 2 Merge Feature A Merge Feature B Deploy Deploy Rollout Flag A Rollout Flag B OMG ROLLBACK FLAG A!!! Merge Feature C Deploy Merge Bugfix for A Deploy Rollout Flag A Rollout Flag C
1.Feature is planned with PROD & ENG 2.ENG creates flag, all new code behind flag 3.ENG opens flag to feature devs 4.ENG does code review, merges, deploys 5.ENG opens flag to PROD 6.PROD approves, begins rolling out live 7.PROD confirms 100% successful rollout 8.ENG & PROD schedules sprint for removal 9.ENG removes old code & flag
1.At least 1 engineer codes with flag OFF 2.All changes to existing code behind flag 3.Rigorously QA with both flag ON and OFF 4.Seriously, check that flag OFF still works 5.No regressions! 6.You will make this mistake. 7.Did you make this mistake? 8.Learn from it then do #1 and #3 again