When to Use Feature Flags
When should you use feature flags? Are there cases where putting something behind a flag makes sense in one context but not in another? Here's a good little guide on knowing when to use flags.
For users just getting started with feature flags, there can be confusion in knowing exactly what they can be used for and when they should be used.
A good way to look at it is through the lens of the jobs different people in your product development organization are doing. Since different people on your team will have different use cases, we’ll go over them below.
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.
When to Use Feature Flags
There are a few ways to look at when you should use feature flags. Here, we’ll explore what kinds of use cases they’re good for. Another way to look at it is when your tech stack is ready for feature flags, but that’s a topic for a different day (also, the simple answer is that you can use feature flags at any time, no matter how simple or mature your software delivery process is).
Product & Engineering
People oftentimes consider feature flags either an engineering tool, or a tool for product managers. The reality is, it’s both. Flags can help software development and DevOps teams lower their overhead and increase their velocity, and they can help product managers better control releases, coordinate launch timings, and create a feedback loop more effectively.
Research indicates that 95% of engineering leaders want to implement a feature flag solution for themselves. This comes on the back of 97% of leaders saying they’re under pressure to deliver faster, and 65% saying they find it difficult to achieve that velocity increase in a safe manner. It’s abundantly clear that engineering teams are likely the biggest beneficiaries of implementing and using a feature flag solution, and indeed, they tend to be the primary users. When they do implement a feature flag solution, they end up delivering 66% more features per application per year!
Other Parts of the Business
Feature flags are great for users across the organization beyond product and engineering. For sales and support teams, feature flags provide a way for them to directly manage betas and new features for their customers, and to track down who’s using what in case of any issues. For management, flags can provide new forms of visibility into what’s happening in development and how new features are being tested with users. In addition, the business is able to create and enforce governance and standardization in ways they couldn’t before.
Actually, it goes even beyond just plain old feature flags. Because Harness Feature Flags is part of the Harness Software Delivery Platform, the business (and of course, Engineering), is able to do things like enforce governance across the whole software delivery lifecycle from CI to CD to Feature Flags, create end-to-end software pipelines, and build robust business intelligence dashboards that can show performance, velocity, or DORA metrics across the whole SDLC.
Feature flags aren’t just for engineers, and the ways engineers use flags can deliver value for a wide variety of stakeholders in your organization! Whether you’re in sales, support, product, or marketing, feature flags can help you make life for your customers easier, get rid of bottlenecks, and better track which flags are being used and which can be deprecated. We strongly recommend organizations open feature flags to more than just engineering.
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 feature flags? If so, download the full eBook here: The Basics: Feature Flags 101.