We talk to folks about feature flags every day, and usually we hear that people have pretty clear ideas about how feature flags can create value for them. However, when we start talking about feature flag use cases and the kinds of ideas we’re building Harness Feature Flags to address, a lot of teams tell us that they’d never considered using feature flags for some of these purposes.
So, based on our own experience, we wanted to share some super valuable ways to consider using feature flags that you may not have thought of yet.
1- APIs and Backend
When people think about feature flags, they often think about visible, frontend changes. But, with our server-side SDKs, they can just as easily roll out backend changes with flags.
As one clear example, by using feature flags, you can more easily control migrating backend infrastructure in an experimental way – with less coordination around deployments and rollbacks.
To use a logging service as an example, if you were migrating logs from one service to another but wanted to turn it on and off to collect errors and bugfix, by using feature flags you can turn the traffic on and off easily without any need to deploy or roll back in real time as you switch the code paths out.
2- Performance Refactoring
Sometimes, when you build the first version of a feature, the biggest optimization is not around streamlining your queries or optimizing for pure performance. And, sometimes, as a result of this, your frontend engineers are quite insistent that they be given some time to greatly reduce the number of calls the frontend is making to the backend – not that this has ever happened to us, of course. 🙃
By using feature flags for this kind of refactor, you get two huge new benefits. First, you can easily test it both in prod and up to prod to verify that the intended result is not impacted by your refactor. But, just as importantly, you can also start to quantify the impact of that change by turning it on for a subset of your traffic first, see how your metrics change, then expand it over time. All of this, just like in the above scenario, without re-deploying or rolling back as you go. As far as feature flag use cases go, this is pretty invaluable.
3- Ops Toggles
Ops use cases are not the first things that come to mind with feature flags, but the more you think about it, the more you might see that a significant amount of ops work can be permanently wired up to flags to provide a better UX and a more manageable experience for critical op tasks.
Think about an archiving system that runs 24/7, but occasionally needs to be toggled off during outages caused by upstream issues or high load. Many ops teams have scripts or runbooks for this, or they just know what code to change. Turning this into a feature flag means teams start to actually build control panels for critical kill switches, and settings that are much easier to use, document, and communicate.
Here at Harness, we run different environments for different needs. These needs can be government, European regulation, state regulation, and on-prem. Some of these environments need things modified slightly, or turned off entirely.
Rather than getting into complex release branching, feature flags provide a great solution. Want to turn something on only in Europe to help with GDPR? Flag it and target your European users! Want to turn something off for government or on-premise users? Feature flags make this easy, without the need to maintain and release tons of different versions of your code – or having to layer logic inside your application. Feature flags also make this sort of control explicit. Because it’s visible, auditable, and controlled by RBAC, you will keep your security and compliance teams happier and less in the dark.
5- Free Trials
A common request in the sales cycle is that a potential customer would like to try out a feature on a high-level plan, or maybe even try out the entire product without them needing the matching license.
If you’ve ever been on the engineering side of building these controls out, it can be a huge pain – and very little of it is value-enhancing to the core product experience. Messy and inconsistent internal admin panes begin to sprawl: sales and support teams often are terrified of using these important-feeling systems.
Feature flags let you easily provide control for this sort of account management without the need for complex custom logic or the overhead of custom admin portals. Simply wrap features in flags and let your account teams manage them!
As more organizations adopt feature flags, we will begin to see feature flags as more than just a way to show or hide a button. Feature flags really serve entire organizations in new and powerful ways, simplifying life for engineering and product teams while bringing other stakeholders closer to the product than ever before.
Want to try feature flags and see how it could change your life? Request a demo today – who knows, maybe you’ll discover new feature flag use cases to serve your organization!