21 Things You Can Do with Feature Flags in 2021
It's 2021, and many of us are still spending a lot of time inside our homes. As we await the days when the pandemic finally subsides, one upside is that it's a great time for experimentation and continuous learning. If you're like me and are looking for new things to do this year, here's a list of 21 things you can do with feature flags right now.
- Deploy your first flag.
If you haven’t yet deployed your first feature flag, what are you waiting for? Deploy and then come back and learn more things you can do throughout the year.
- Conduct a canary test.
Feature flags can be used to restrict who has access to a feature. Do you need feedback on a feature before it deploys to all users? Running a canary test with feature flags allows you to target specific users for feedback prior to a launch.
- Configure triggers with observability and alerting tools.
What’s better than having a kill switch or circuit breaker to disable a feature? Having a feature automatically disabled when performance thresholds are exceeded. Configure an automatic trigger with Honeycomb, Datadog, or Rollbar. You can also create generic webhook triggers to use with other systems or custom tools.
- Offer self-provisioning to sales engineers.
Last year, during our Trajectory Nano series, Sheree Lim from Tray.io shared how her team built a Slack integration to empower sales engineers to self-provision features for demos. When you’re in the middle of a demo, you don’t always have the time to wait for somebody to enable a feature. This integration helps sales engineers show additional features during a demo on the fly.
- Set up approval workflows.
Last year, we launched Feature Workflows. One component of those is Flag Approvals. While it may be fun to yell “YOLO” and launch a feature, in some instances you may need to have approvals and signoff before a feature goes live in production. With Flag Approvals, you can request a peer review or require approvals for specific environments directly within LaunchDarkly.
- Schedule an automated change.
Another aspect to workflows is the ability to schedule a change. You may have everything lined up but the feature isn’t supposed to go live until a specific date and time. Scheduling workflows allows you to plan and automate progressive rollouts and other flag updates in advance, so you can focus on building the feature, while LaunchDarkly takes care of the release.
- Configure load shedding.
When you’re seeing a traffic spike and performance starts to slow down, you can use a feature flag to selectively disable features that are known to impact performance.
- Run an experiment.
Not sure whether a feature will have the return on investment you’re hoping for? Run an experiment. Experiments let you collect data on how a feature impacts performance or conversions or other metrics important to your business to help guide decisions.
- Test in production.
No matter how much testing you do in pre-production, nothing is the same as testing in production. Feature flags provide the ease of mind you need to deploy a feature to production knowing you can quickly disable if things go wrong.
- Migrate from on-prem to the cloud.
Use the same logic of a percentage-based rollout to slowly roll traffic from on-prem servers to the cloud. Read more about how True Car used this strategy to migrate to the cloud with no downtime.
- Set up circuit breakers.
During the release process disabling a misbehaving feature is referred to as a kill switch. But, did you know that the same functionality can be used once a feature is fully rolled out? We call these circuit breakers. When conducting a post-incident review of a failure, decide whether it can potentially occur again and if it would be good to implement a circuit breaker to disable a feature during future incidents.
- Stream raw event data into a data warehouse.
You can utilize LaunchDarkly data with external data sources with Data Export to perform data analysis. Analyze a feature’s impact on conversions, user engagement, or use it to help with troubleshooting. Talk to the data scientists at your organization about the ways they can incorporate flag data into their analysis.
- Rate limit APIs.
You can customize how many requests each API route can send based on a purchased tier or contractual commitments. For example, a common use case of operational feature flags is limiting API calls to 100 requests/minute for all customers, but making exceptions for some.
- Assign tickets based on support engineers capacity.
Use a percentage rollout to distribute support tickets to engineers based on their availability or current workload. The percentages can be adjusted when people are on leave, or are heads-down working on a high priority issue.
- Manage entitlements.
Feature flags can be used to grant access to services, products, and features. If certain new features are behind a paywall, you can create a segment and assign paid users to the group that has access to the feature. Empower those closest to managing entitlements (product management, customer success, sales, etc) with the ability to add users to segments and toggle features on or off.
- Integrate your feature flags with other tools.
Having tools talk to one another reduces friction and the need to switch back and forth across multiple interfaces. LaunchDarkly supports multiple integrations with solutions such as communication, alerting, monitoring, or logging, just to name a few.
- Run a chaos experiment.
Chaos engineering is about intentionally injecting failure into systems to see how they react and identify points of weakness. Explore how you can use feature flags to control how failures are presented or identify how to recover from them during your next chaos experiment.
- Manage alternate process flow.
Use feature flag internal middleware to change routing and process flows. For example, set up feature flagging on support ticket routing to alternate offices to comply with national holidays. Use a percentage-based rollout with your email delivery system to control the rollout of work items to various teams.
- Manage your beta program.
Segments allow you to create targeting rules to use for different feature flags. If you use the same users for your beta program, add these users to a segment. When a new feature is in beta, then add a targeting rule to include users in the beta segment.
- Run user testing with target candidates on live prototypes.
Feature flags allow product managers to validate the direction of prototypes. Confirming that the prototype being built is what customers asked for and need can save valuable time.
- If you’ve already done all these things?
Kick back, relax, go for a hike, or pour yourself a cup of tea because by making such good use of feature flags, you’ve created more free time for yourself to do the things you love.
- Bonus: Read our eBook on Feature Management
Learn how you can use feature flags to reduce risk, iterate faster, and gain more control in your dev cycles with our eBook, “Effective Feature Management.”