Feature Life Cycle
Determine if a feature flag is appropriate
Determine the type of feature control to use
Implement Early
Write feature flagging components at the beginning
Integrate often
Do not use GIT as a feature control
Integrate code with your normal release process, even if the feature isn't complete
Test to ensure the "disabled" state of the feature works as expected
Beta test
Enable the feature for an internal group and iterate on it
Enable the feature for a trusted external group and get feed back
Release the feature
Enable the feature for all users
(should not require a deploy)
Factor out the feature flag
If it's not going away, remove the feature flag code