blog post banner image

What You Need to Know About Feature Management in 2022

Ann McArthur


Feature Flag Management: What to Look Out for in 2022 

When implementing feature flags, choosing the right management platform is extremely important for the success of your flags, and your engineering team. Teams need to consider the scale of their feature flags, how they’re going to use them, how experimentation comes into play, and if the cost of the feature management platform outweighs the benefits.

Successfully using a feature flag management system will allow an engineering team to deliver more features, with less risk. For leaders, this means increased engineering velocity, improved developer experience, and a decreased risk associated with developing features. And for developers, it means working more efficiently with less stress.

What are Feature Flags?

Feature flags are a way to wrap different versions of code in conditional statements. Companies can turn these on and off when they want. They may have previously been called app configs or even part of your company's rules engine.

They allow you to deploy new features to your customers. With them, you can do controlled testing without risking the whole product. You can also roll out a feature to only certain users and make it turn on or off in order to have a more gradual launch. This reduces risk and helps you get feedback faster.

The Impact of Feature Flags

Feature flags put the power in your hands. You can release features without deploying code, experiment with new releases, and analyze rollout plans. It's a powerful tool that gives you more insight than ever into how changes affect your application.

Imagine if you could extend continuous delivery into continuous deployment. With feature flags, you can. They are a way to conditionally turn features on or off. They are a developer's best friend and an incredible tool for adding changes to a production system without having to worry about downtime.

You can also think of feature flags as a new way to release software. If a company defines different features that can be toggled on and off, they can experiment with changes and product iterations. They can test the effects of these changes on different customer segments before rolling out major changes. The ability to toggle features on and off is a more inclusive approach, allowing product managers, sales, and support to make changes for customers at a moment's notice.

This means that developers can build more and better features faster, while simultaneously ensuring that engineering is not the bottleneck for the business. This also has the effect of giving customers more power and control over their interactions with the company — they can make changes to individual features or ensure a perfect deployment of features to production without waiting for engineering.

To paint a clearer picture, feature flags are like private lanes for developers to test and release new features. After they ship the new feature to a select group of customers, they can turn the "light switch" on or off to give them feedback and control over who sees it.

What are the Benefits?

Beyond product and engineering teams, everyone at your company can benefit from feature flags. For sales, it’s a way for them to directly manage their beta customers, and for support teams, it’s a way to track down what features are being used in case there are any problems. Managers can use flags to see what's happening in development and how they are testing new features with customers.

Outdated models required code deployment and features to be rolled out together. However, with the advent of feature flags, you can prevent the risks of deploying code by separating the two functions. This helps to ensure that deployed code doesn’t cause any negative impacts to your customer base.

When you have a feature online, it's important to know how to test it. Feature flagging facilitates the testing of features in production, continuous delivery of features, and controlled rollouts to users through canary releases.

If you're looking for a way to test out new features on your website or app before releasing them, you can use feature flags to perform A/B testing. Once set up, it allows you to see which version performs the best. With a canary release, you can limit the effect of technical glitches. If technical issues are identified and resolved before a new feature is released to all of your customers, the damage can be kept to a minimum.

It's been especially important for product people to have a voice in the product process, but that can be difficult. Feature flags are a simple way to allow product owners to enable or disable features they are responsible for.

Why Feature Management is the Future of Software Delivery

Before feature flags, engineering teams were forced to choose between safety and speed. Teams that chose safety worked at a slower pace, pushing code less frequently into production, and fixing problems after they happened.  Companies that choose to focus on safety often spend too much time, money, and energy on additional testing and approvals. That meant that they had to deal with a lot of complexity in their infrastructure that does not benefit their customers. This type of workflow means that there is a greater risk that something will go wrong when you release it. If you change many things at once, it’s more likely that a problem will go unnoticed and need longer to fix. 

The other side of this coin was "failing forward," where teams would deploy code quickly and fix issues in real-time when they arose. Teams that worked this way were constantly on the brink of burnout due to the high volume of bugs that needed to be fixed.

Deployment and testing of new features used to be a major problem, because those tasks were never performed in live environments. They were always done in isolated test environments that couldn’t affect anything the users in the production environment would interact with.

However, the test results from staging environments have proven faulty. When you test in a staging environment, the data is not the same as production data. Feature flags are an excellent way to test your product or feature in real-time. With a simple click of a button, you can choose to have your new technology tested before you decide to release it out into the real world. Using feature flags allows you to deploy your feature or product behind an "on-off" switch. This is a great way to test your production environment with new features and fixes, providing that you know that the software works in this environment.

As part of the ongoing process, certain features will be phased out so that newer ones can take their place. Reasons for this change may be that old features are replaced by newer ones, beta testing shows that the new features have no value, or analytics show that customers are not using the features. Feature flags allow you to easily retire features that aren’t being used.

When a critical bug or other problem is discovered, using a feature flag to disable the feature in question can save your company time and money. Rather than rolling back the code, your team can simply turn off the problematic feature while they investigate and correct it.

If customers are experiencing a problem with your product, you can immediately flip the switch to the kill-switch for that feature. You won’t have to waste any time and energy on a complicated code review process - all you need to do is log into the feature flagging framework and click the kill switch. This also allows technical support agents or product managers who don’t have software development skills to disable problematic features.

Feature flags are a quick and easy way to disable features for one user group, but keep them enabled for another. This lets you drive users towards new features that will generate a greater return on their investment in your product.

Best Practices for 2022

Selecting the right feature management tool will help your team use feature management best practices. When looking for which feature management tool you should consider how many audiences you can have with your feature flags if you can use automated scheduling for deployment, how easy you can manage multiple environments at once, and if the feature management platform allows for dynamic variables with variation values controlled by feature flags. 

You should also consider how much experimentation the platform allows for, and if there are any handicaps or limitations on experimentation, seats, or how many flags you can have. Other things to consider include the quality of the customer support team and their security policy to ensure your users' data is safe.

Get Started with DevCycle

DevCycle is the developer's choice for feature flags. With unlimited experimentation, unlimited flags, and an easy-to-use platform to manage your flags, using DevCycle makes engineers' lives easier, minimizes risk, and gives you confidence when shipping new features.

Get started with a 14-day free trial.

Written By

Ann McArthur