- What is Feature Flagging ?
A feature flag is a way to enable and disable a functionality during runtime without changing or redeploying the code.This allows for better control and more experimentation over the full lifecycle of features.
- Use Cases (Release management)
You can run beta programs on live applications by explicitly including the set of users(beta users) you want to give early access to. By making any feature available to certain users you can better handle the risk of deployment.
If something goes wrong in the deployed feature. You can without any hassle turn that particular feature off merely by toggling a switch. If a bug is found post release you can rollback the feature instantly.
- How does it work ?
Multiple flags/toggles can be set for multiple features. These toggles will be deployed only once. As and when the feature progresses you can test it, and make it available for users by switching it on. The control to manage any feature will have been already deployed and the control is with you to switch it off or on.
- How can we manage releases with feature flagging ?
Steps
- Add feature flags to all the functionalities that you want to control.
- Provide access to QA’s for testing on production while the feature is being developed.
- Make the feature available for selected users primarily. Based on how the app works for them you can either loop back to testing or grant access to all the users.
Advantages
- Saves time as you will have already deployed the feature whilst developing.
- Saves developers time for redeployment after fixing errors.
- Flexible Code Management.
- Code can be tested on production without disrupting the interaction of users and production ready features of the application.
- Perform A/B Testing. The process of showing two different variants of application to two different sets of users at the same time.
- Easy roll backs — just flip the feature toggle.
Happy toggling !
- What is Feature Flagging ?
A feature flag is a way to enable and disable a functionality during runtime without changing or redeploying the code.This allows for better control and more experimentation over the full lifecycle of features.
- Use Cases (Release management)
You can run beta programs on live applications by explicitly including the set of users(beta users) you want to give early access to. By making any feature available to certain users you can better handle the risk of deployment.
If something goes wrong in the deployed feature. You can without any hassle turn that particular feature off merely by toggling a switch. If a bug is found post release you can rollback the feature instantly.
- How does it work ?
Multiple flags/toggles can be set for multiple features. These toggles will be deployed only once. As and when the feature progresses you can test it, and make it available for users by switching it on. The control to manage any feature will have been already deployed and the control is with you to switch it off or on.
- How can we manage releases with feature flagging ?
Steps
- Add feature flags to all the functionalities that you want to control.
- Provide access to QA’s for testing on production while the feature is being developed.
- Make the feature available for selected users primarily. Based on how the app works for them you can either loop back to testing or grant access to all the users.
Advantages
- Saves time as you will have already deployed the feature whilst developing.
- Saves developers time for redeployment after fixing errors.
- Flexible Code Management.
- Code can be tested on production without disrupting the interaction of users and production ready features of the application.
- Perform A/B Testing. The process of showing two different variants of application to two different sets of users at the same time.
- Easy roll backs — just flip the feature toggle.
Happy toggling !