Feature Flags - What and why

Feature Flags - What and why

A feature flag (a.k.a. feature toggle) is a software development technique used to enable or disable certain functionality remotely without deploying code. Feature flags help decouple deployment from release letting one manage the full lifecycle of a feature.

Feature flag management allows for continuous integration/continuous delivery (CI/CD) to gradually roll out features to users. Continuous delivery enables shortening release cycles and getting new functionality in the user’s hands quickly and safely. Creating a CI/CD pipeline is necessary to increase the velocity of code deployments and thereby get software delivered to end-users faster. To move quickly, one needs safety measures in place - feature flags are one of those safety measures. With feature flags, one can turn off a feature that performs unexpectedly in production without rolling back the code.

Feature flags also eliminate the need to maintain multiple feature branches within the source code. All code changes can be made to the primary branch (trunk or master), and when the feature is ready it can be enabled via the flag. A single branch of code helps to eliminate merge conflicts, broken builds, thereby resulting in a cleaner codebase. Instead of using a feature branch, one can use a flag to gate features not ready for public viewing.

New features can be deployed without making them available to all users upfront. For example, a new feature can be made available to a small set of users for testing and feedback by using a feature flag to control this access.

Feature flags can also be used to manage beta programs, run A/B tests, and provision entitlements.

To sum up, feature management via flags is commonly used by enterprises looking at:

  • Reducing the number of code rollbacks
  • Gradual roll-out of new functionality to users
  • Minimizing the risk of a release by first releasing to small groups of users
  • User acceptance testing

Manoj Rana

Associate General Manager at HCL Technologies

3 年

Succinct! Only thing I would suggest is to cover 'hierarchy of feature flags' as well, without that eventually you may be staring at assorted feature flags - poor on maintainability and control. Thanks.

回复
Sumanta Kumar Mishra

VP-Engineering | DU Head | AI/ML Practice Head | TOGAF 9 | SAFe 5 Architect | AWSCSAA | Enterprise Architect | Data Analyst

3 年

Interesting

Anurag Gautam

Passionate JS Full Stack Developer | Vue Js | React Js | Typescript| PWA | Express Js | GraphQL | Mobile hybrid Apps | REST API | Browser Extension

3 年

Agree , Even I have observed that, now in modern world where feature are getting added more frequently in particular application. So from last 7-8 months I was working on Feature flags implementation only. This is mandatory to have in any type of enterprise application . This will get rid of so many things like Reverting code, again sanity check by QAs, again going thru Deployment until prod you just need to toggle the Feature Flag :)

要查看或添加评论,请登录

Rishi Raj的更多文章

  • Predicting growth rate for a SaaS-based application

    Predicting growth rate for a SaaS-based application

    For any subscription-based business, it is imperative to capture & track financial data and take necessary actions as…

  • MagicBox - User Roles

    MagicBox - User Roles

    A user role defines the permissions for users to perform a group of tasks. MagicBox provides flexibility by allowing…

  • The Scorecard

    The Scorecard

    Most companies have started to do away with the ‘Bell Curve’ employee appraisal system. Some of the global giants that…

  • The Shift in Education - Print to Digital

    The Shift in Education - Print to Digital

    Don’t we all know that over the last decade or so, the way in which education is being delivered has undergone huge…

    3 条评论
  • What's?White?About This?Black?Box?

    What's?White?About This?Black?Box?

    Building a great product is never easy. It has been an exciting journey as there have been various ups and down…

  • The Changing Face of India (Past, Present and Future)

    The Changing Face of India (Past, Present and Future)

    Another Olympics and yet the same story – nothing has changed when it comes to winning medals on the world stage. A…

    1 条评论
  • Ready to use JIRA queries for Atlassian lovers

    Ready to use JIRA queries for Atlassian lovers

    Here are some useful Atlassian JIRA queries that I have come across and are really handy in the day-to-day activities…

    1 条评论

社区洞察

其他会员也浏览了