Software developers and their stakeholders look forward to seeing their hard work come to fruition. Deployments can loom large, but they often get delayed. Business decisions can commonly interfere with deploying critical bug fixes or can negatively impact deployment cadence.
Enter feature flags. They are a feature management tool that give companies the power to decouple business decisions from technical decisions, shorten the time from deployment to release, and improve CI/CD. Here's an introduction to how feature flags work, their benefits, and providers.
How Feature Flags Work
Feature flags give developers the ability to hide specific code behind a switch controlled by business users. It’s a simple concept that gained popularity when Pete Hodgson posted about it on Martin Fowler’s website. The idea has since become a widespread method to allow technical teams to move forward and continuously deliver code, while allowing business users to launch products on their schedule.
Benefits
Adding feature flags helps decouple the deployment process from the launching process, providing numerous benefits, including:
- Continuous Delivery: safely and rapidly deliver new functionality to users. Companies can roll features out quicker, fix bugs in the code without redeploying, and rollback code more easily.
- Canary Launch: target specific user audiences by showing a feature to users who meet certain criteria or a percentage of users. Your team can evaluate a new feature in production, gauge user reaction, and scale the percentage of users who can access the feature based on feedback. If you are confident in the feature, you can open it up to everyone. If things aren’t working as intended, you can turn it off entirely. Agile business decisions can be made without the technical team having to perform additional deploys.
- Testing in Production: gain access to a feature in a controlled method to test it with real live data before enabling it for a wider audience.
Feature Flag Providers
An ecosystem has arisen around feature flags that makes it easy for developers to implement them and for business users to manage them. One of the top feature flag providers is Launch Darkly. They have a popular product that supports a variety of programming languages and many types of applications. Other providers that offer support for feature flags are Optimizely, Split, and Cloudbees.
Visit FeatureFlags.io to read about common uses of feature flags, examples, and different libraries. There are many options to support all types of applications and businesses. No matter the situation, there is likely a provider available for you.
If you find your business hampered by technical processes that aren’t as dynamic as your business or marketing processes, implementing feature flags may be beneficial. to get help incorporating them into your application.