O'Reilly eBook

Managing Feature Flags

In this book, we’ll look at the history of feature flags and, more importantly, learn how teams can successfully apply these techniques. We’ll examine different types of feature flags and what makes them different. We’ll see some critical code-level techniques to keep our feature flagging code manageable, and we’ll explore how to keep the number of flags in our code base to a manageable level. 

Learn Why Agile Businesses Use Split

Deliver software features that matter, fast!

Deliver Software Faster in Small Increments Like Top Companies

Top companies have learned that feature flags offer a powerful way to turn code ideas into immediate outcomes without breaking anything in the meantime. Download the eBook to learn more.

Download eBook

Download this eBook to learn:

In this eBook, learn how to successfully implement feature flags, aka toggles, flips, gates, or switches, to accelerate software delivery and trunk-based development. 

  • Use feature flag management to determine user/feature interactions
  • Examine several cases involving feature flags
  • Learn techniques to ensure that feature-flagged code is readable
  • Explore trends driving continuous delivery and experimentation
  • And more! Download the free eBook today
Download eBook

Use Cases

At a high level, feature flags accelerate development by powering the following use cases: 

Download eBookSplit - G2-Spring 2024-5 Badges

Continuous Delivery

The only way to ensure that a shared branch is always releasable is to hide unfinished features behind flags that are turned off by default. Otherwise, Continuous Delivery can turn into continuous failure. 

Testing In Production

Feature flags allow teams to perform functional and performance tests directly on production with a subset of customers. This is a secure and performant way of understanding how a new feature will scale with customers. 

Kill A Feature

By having a feature enhancements behind a flag, you can not only roll it out to subsets of customers, but you also can remove it from all customers if it is causing problems to customer experience. This idea of “killing” a feature is better than having to do an emergency fix or a code rollback.

Migrating To Microservices

Microservices is the practice of breaking up a huge, monolithic release into many discrete services that you can roll out in independent release schedules.

Paywalls

You can use feature flags to permanently tie features to subscription types. For instance, a feature could be available to every customer as part of a free trial, but is gated afterward by the customer buying a premium subscription.

Feature Management is Crucial

Feature management offers developers the flexibility to control the release of new functionalities through feature toggles. Feature toggles, also known as feature flags, are versatile tools that enable teams to manage features effectively. With feature toggle implementation, developers can streamline feature rollout processes, ensuring smooth transitions and minimizing the risk associated with new releases. Utilizing feature management tools enhances the efficiency of feature flag deployment, empowering teams to adjust feature availability dynamically based on user feedback and performance metrics.

Feature toggle systems serve as the backbone of feature management strategies, providing developers with the ability to control feature flags rollout seamlessly. By employing feature flag management tools, teams can orchestrate complex feature deployments with precision, enabling incremental releases and A/B testing. These tools offer a centralized platform for monitoring and managing feature flags across development, staging, and production environments, facilitating collaboration among team members and ensuring consistent feature behavior across different deployment scenarios.

Set Up Effective Feature Management

Split’s robust feature flag management tools offer comprehensive functionalities for controlling feature toggles. Such tools empower developers to fine-tune feature availability, targeting specific user segments or environments while minimizing disruptions. With feature management tools, teams can automate the process of feature rollout, reducing manual intervention and accelerating the pace of software delivery. Furthermore, feature flag management tools provide insights into feature performance, enabling teams to make data-driven decisions and iterate on features.

Feature flags rollout strategies vary depending on the project requirements and development workflows, but feature management tools provide the necessary infrastructure to support these strategies. Whether implementing canary releases, gradual rollouts, or dark launches, feature management tools offer the flexibility to adapt rollout approaches to specific use cases. Moreover, these tools facilitate collaboration among cross-functional teams, allowing product managers, developers, and QA engineers to coordinate feature releases effectively and respond promptly to user feedback.

Split - DORA Metrics: How Feature Flags Help You Measure Up

Create Impact With Everything You Build

We’re excited to accompany you on your journey as you build faster, release safer, and launch impactful products.

O'Reilly eBook

Managing Feature Flags

Deliver Software Faster in Small Increments: Feature flags allow fast-moving software teams to work on half-finished code without disrupting their users and to deliver functionality in small increments while learning from their users.

Continuous Delivery: Enterprise software teams were embracing Agile methodologies and using Continuous Delivery concepts to support incremental deployment into production.

Experimentation: Software delivery teams realized that they could use the same feature flagging techniques that they had been using for release management to power their A/B tests.

Download the eBook

Hear from our customers

Split - CaseStudyPreview_FeatureFlags_Galileo 1

“Without Split, it was hard to time the release of our web app, API, and mobile app – given app store approvals. Now we can group a change behind a feature flag, do a production dry run, and toggle it on for users.

Stephen Snow, Backend Engineer, Galileo

Split - CaseStudyPreview_TargetedRollouts_WePay 1

“Adopting Split means we can keep releasing code but make features accessible only when we need them to be, and with the click of a button.”

Chris Conrad, VP Engineering, WePay

Split - Micro+Split JJ Keller

“Split’s Azure DevOps integration has simplified our workflow by allowing our developers to create new flags directly in the boards. The linkage between work items and feature flags is a big plus because it streamlines the process of knowing when all work is completed for a single feature, helping us save time, increase our speed-to-market, and ensure a drama-free release.”

Matthew Bingham, Vice President of Software Development, J. J. Keller & Associates, Inc.

Split - CaseStudyPreview_AutomatedRolloutMonitoring_SkillShare 1

“Split allows us to account for all the other things that are going on in the world and isolate the impact of the change we made on our users and business.”

Jean Steiner, Ph.D., Former  VP of Data Science, Skillshare

Split - CaseStudyPreview_AlertsActions_Speedway 1

“We’ve completely eliminated the need for [late night releases and] hotfixes because we have the safety system built in to contain the blast radius of any problem that we come across.”

Andrew Boellstorff, Senior Product Manager, Speedway Motors

Split - CaseStudyPreview_Experimentation_ImperfectFoods 1

“Thanks to Split, we were able to learn that the risky version actually had the highest adoption by our customers while keeping overall signup conversion steady

Patti Chan, Former VP Product, Imperfect Foods

Split - logo-galileo-health
Split - wepay-logo
Split - Microsoft_logo_2012.svg
Split - logo-skillshare
Split - logo-speedway-motors
Split - logo-imperfect-foods

Use Cases

At a high level, feature flags accelerate development by powering the following use cases: 

Download eBookSplit - G2-Spring 2024-5 Badges

Continuous Delivery

The only way to ensure that a shared branch is always releasable is to hide unfinished features behind flags that are turned off by default. Otherwise, Continuous Delivery can turn into continuous failure. 

Testing In Production

Feature flags allow teams to perform functional and performance tests directly on production with a subset of customers. This is a secure and performant way of understanding how a new feature will scale with customers. 

Kill A Feature

By having a feature enhancements behind a flag, you can not only roll it out to subsets of customers, but you also can remove it from all customers if it is causing problems to customer experience. This idea of “killing” a feature is better than having to do an emergency fix or a code rollback.

Migrating To Microservices

Microservices is the practice of breaking up a huge, monolithic release into many discrete services that you can roll out in independent release schedules.

Paywalls

You can use feature flags to permanently tie features to subscription types. For instance, a feature could be available to every customer as part of a free trial, but is gated afterward by the customer buying a premium subscription.

Feature Management is Crucial

Feature management offers developers the flexibility to control the release of new functionalities through feature toggles. Feature toggles, also known as feature flags, are versatile tools that enable teams to manage features effectively. With feature toggle implementation, developers can streamline feature rollout processes, ensuring smooth transitions and minimizing the risk associated with new releases. Utilizing feature management tools enhances the efficiency of feature flag deployment, empowering teams to adjust feature availability dynamically based on user feedback and performance metrics.

Feature toggle systems serve as the backbone of feature management strategies, providing developers with the ability to control feature flags rollout seamlessly. By employing feature flag management tools, teams can orchestrate complex feature deployments with precision, enabling incremental releases and A/B testing. These tools offer a centralized platform for monitoring and managing feature flags across development, staging, and production environments, facilitating collaboration among team members and ensuring consistent feature behavior across different deployment scenarios.

Set Up Effective Feature Management

Split’s robust feature flag management tools offer comprehensive functionalities for controlling feature toggles. Such tools empower developers to fine-tune feature availability, targeting specific user segments or environments while minimizing disruptions. With feature management tools, teams can automate the process of feature rollout, reducing manual intervention and accelerating the pace of software delivery. Furthermore, feature flag management tools provide insights into feature performance, enabling teams to make data-driven decisions and iterate on features.

Feature flags rollout strategies vary depending on the project requirements and development workflows, but feature management tools provide the necessary infrastructure to support these strategies. Whether implementing canary releases, gradual rollouts, or dark launches, feature management tools offer the flexibility to adapt rollout approaches to specific use cases. Moreover, these tools facilitate collaboration among cross-functional teams, allowing product managers, developers, and QA engineers to coordinate feature releases effectively and respond promptly to user feedback.

Split - DORA Metrics: How Feature Flags Help You Measure Up

Create Impact With Everything You Build

We’re excited to accompany you on your journey as you build faster, release safer, and launch impactful products.