Creating software products is a highly collaborative process nowadays. Developers, designers, product managers, marketers, and many others all work together to bring software to life and ensure a smooth experience for customers.
Though developers are responsible for building new features, the control of releasing these features might be better in the hands of people that are outside of engineering teams. We can give these people control with the help of feature flags.
What are feature flags?
Feature flags (or feature toggles) are basically on/off switches that allow you to toggle a feature in software after you've deployed it, letting you launch new features and change your software configuration without (re)deploying code.
With feature flags, organizations can build features into an app, and release them when they want, separating feature deployment from feature release.
Now that we know what feature flags are, we'll look at a few scenarios where non-developers can benefit from using feature flags.
If you're a product manager or marketer, you might want to perform experiments like A/B testing to improve conversion rates of a website. Using feature flags, the developers can build new variants, hide them behind feature flags, and hand over control to you. You can then use the feature flags to turn on the variants for whatever percentage or segment of users you want.
After running the experiments and determining what features to keep, you can use the feature flags to roll them out to everyone. If the results of the experiments are not positive, you can turn them off and go back to the drawing board.
Giving product demos
As a product manager or salesperson, you might want to give a prospective customer a specialized demo of an app. You can show them the features in different pricing plans by toggling feature flags. You can also use feature flags to simulate how the app will behave in highly specific situations.
Feature flags can also be helpful when you're trying to convince existing customers to upgrade to a higher plan. You can give the customers temporary access, so they can play with a live demo and decide if upgrading will be worth it. Once they've finished using the demo, you can leave the flag on or turn it off depending on the decisions they make.
Enabling specific features for customers
Many SaaS (Software as a Service) platforms offer custom plans that allow their customers to choose the features they want. In cases like this, it makes sense for customer support representatives to have access to feature flags, so they can turn on features for the customers after understanding their needs. They can also use feature flags to activate premium features for high-paying customers.
Running sales events
As the head of sales of an e-commerce website, you're likely running several sales events in a year. Each sales event usually has discounts, coupons, and in-app banners. After fleshing out the details of each event, you can communicate with the developers to implement the features you need, deploy them and hide them behind feature flags. When it's time, you can launch the event without having the developers do it for you. And when you want to end the campaign, you only need to turn the flags off.
Rolling back features
Sometimes, when a new feature of an app goes live, it might not work well despite rigorous testing, causing bugs in the app and users to complain. If an organization uses feature flags as part of its development process, the product manager can roll back to a stable version of the app with a feature flag. It's even better if they use a cloud-based feature flag service like ConfigCat, so even if complaints come in after work hours, changes can easily be rolled back at any time. When the developers fix the bugs in the feature, the product manager can turn it back on.
At first glance, feature flags might seem like something only developers should handle. But as we've seen, there are scenarios where it makes sense for non-developers to use feature flags. So whether you're in product management, marketing, or even the CEO of an organization, feature flags can give you control over features and functionality most relevant to your role.