The Impact of Feature Flags
We often overlook the impact of feature flags - but they play a huge part on both the business and technical sides.
If you’re new to feature flags, you may not yet understand how profound their impact can be. We’ve gone over it a bit in past blogs (namely in pieces like 5 Feature Flag Use Cases You May Not Have Thought Of and The Benefits Of Feature Flags In Software Delivery), but this article will focus on challenges they can solve, and what value they bring - for both technical and business sides.
This article contains an excerpt from our eBook, The Basics: Feature Flags 101. If you like the content you see, stick around to the end where we’ll link the full eBook for you.
The Technical Impact
At a high level, feature flags give more power and control to developers to create more - and better - features, faster. At the same time, they ensure that engineering is not the bottleneck for the business in having to make changes for individual customers, or for ensuring a perfect production deployment for every new feature or update.
What are some of the key challenges that feature flags solve? In general, the challenges revolve around release governance, control over user experience, and deployment issues:
- Difficulty with creating granular rule sets or operations concerning who to release to and when;
- Lots of feature branches in development;
- Inability to test multiple solution implementations;
- Risk associated with making decisions on what to build and how to build it;
- Difficulty managing large amounts of features and keeping production tidy;
- No way to, or very cumbersome to, release individual features to production;
- Rollbacks due to failed deployments of individual features.
Value of Feature Flags
These are the benefits that feature flags bring to engineering teams:
- Shift responsibility to the business to determine the release date of features;
- Release new features faster and iterate rapidly without negative consequences;
- Test multiple solution implementations simultaneously to determine best approach;
- Easily release individual features to production daily;
- Never roll back a good, new feature due to a different bad feature.
Ultimately, the use of feature flags results in the following outcomes for technical teams (and happier developers):
- Increased feature velocity;
- More features shipped;
- More bugs fixed;
- Less time spent remediating feature failures in prod;
- Less time spent coordinating releases;
- Less time spent auditing for compliance.
The Business Impact
Because feature flags decouple deployment from release, the business is given control over when users or customers will see a feature. No more engineering bottlenecks, no more annoyed customers, and no more scrambling from engineering, marketing, and sales to meet a deployment deadline. For the business, it means shipping features faster, incurring less risk, and keeping both internal developers and external customers happier.
What are some of the key challenges that feature flags solve? In general, the challenges revolve around the feature release process, risk management, and cost/revenue impact:
- Friction between engineering release timelines and product/marketing release timelines;
- Negative customer impact due to release quality issues;
- Keeping up with the pace of feature releases by competitors in their market;
- Rollbacks or roll forwards that cost the business time and money;
- Lots of time and effort spent on managing what will go out in a release;
- Difficulty mapping costs, performance, or business impact to individual feature releases;
- Lack of governance, approvals, and verification processes;
- Risk associated with making decisions on what features to build;
- Workflow interruptions when PM or customer-facing roles need engineering to turn things on or off.
Value of Feature Flags
These are the benefits that feature flags bring to the business:
- Deploy features more frequently than on the production release cycle;
- Minimize risk for feature rollouts such as negative customer impact or need to roll back;
- Maximize feature impact for customers by testing solutions with customers directly;
- Ensure governance and compliance around release process and lifecycle management;
- Shift control of feature releases to customer-facing teams.
Ultimately, the use of feature flags results in the following outcomes for the business:
- Higher NPS or CSAT;
- Increase in net retention rate;
- Lower churn rate;
- Less exploitation of security loopholes;
- Fewer fines for non-compliance with regulation.
When you look at this article and the one linked above about use cases, it paints a clear picture about the value you can unlock with feature flags. We find that in many cases, people who didn’t think they needed flags really did. And incidentally, flags solved more than one problem for them.
Whether you find yourself trying to solve a pressing problem in your software delivery process, to get more control over your customer-facing application experience, or to get ahead of the game and see how you can better leverage technology, feature flags can greatly impact how you approach software delivery and the effect it will have on your users.
Are you ready to learn more about the impact of feature flags? If so, download the full eBook here: The Basics: Feature Flags 101.