Come join our happy hour in Seattle! – Click here.

Glossary

Feature Management

Feature management is informed by the principles of agile and DevOps, where smaller work units are delivered more often.

What Is Feature Management?

Feature management is an updated approach to application development where individual features replace application versions as the unit of software development, testing, and measurement. With feature management, code changes are placed behind feature flags (also known as feature toggles). Feature flags decouple code deployment from rollout to end users, which allows teams to spend more time shipping new features and functionality and less time waiting for dependencies, cross-team coordination, and release trains. Looking for info on feature flag management? The difference is nuanced and outlined here.

Functionality Delivered With a DevOps Mindset

Feature management is informed by the principles of agile and DevOps, where smaller work units are delivered more often. Rather than conceptualizing, designing, developing, testing, delivering, and measuring the success of entire applications, feature management allows teams to build, test, and release changes at the feature level.

This contrasts with previous approaches to the application development lifecycle, where major and minor versions consisted of many changes that must queue for delivery until all the other changes in a release are completed and tested. When the application version is the delivery unit, everything in that version (successful or not) rolls out or back together.

Why Development Teams Adopt Feature Management

Feature management is preferred over traditional application release processes because it:

  1. Delivers new functionality to end-users with less lead time
  2. Improves delivery cadence by reducing cross-team release dependencies
  3. Improves application stability by enabling testing in production and progressive delivery
  4. Captures feature-level system performance and user behavior metrics, even during partial rollouts—helping to contain the “blast radius” of issues and speed the recognition of successful work.
  5. Increases psychological safety and job satisfaction for developers by replacing large-scale releases (and bulk rollbacks of all changes, whether healthy or not) with the speed and precision of a feature-level “off switch” and feature-level impact measurement.

Feature Management Decouples Teams Too

Perhaps the most significant benefit of feature management is that it enables engineering teams to safely deliver a continuous stream of features in a loosely coupled, data-driven way. While decoupling code deployment from feature release is the most well-known benefit of feature management, this other sort of decoupling, where each software development team is decoupled from the others, often goes overlooked. When less coordination is required, there is less waiting and less waste, and each team can move at its cadence.

Data-driven at the Feature Level

Unlike traditional release processes, where the “feedback” is system-wide and often sudden and overwhelming, rollouts of individual features that use feature flags are refreshingly different. Feature releases can start with a few specific users (such as the product team), move on to any other group of users (such as beta testers), and then be ramped up or down for the rest of the end users under the watchful eye of feature-level system performance and end-user experience metrics. With advanced feature flag management platforms, metrics are computed at the feature level, so triage is unnecessary to answer the question, “Which feature is causing this problem?” It also takes no extra work to discover when a feature release improves KPIs. When feature rollouts produce metrics in real time, development teams can safely iterate more often without waiting on data science resources to know the impact on end users.

For more about feature flag management platforms, see the glossary entry, feature flag management.

Feature Management and Continuous Delivery

The development practices of continuous integration and continuous delivery have been difficult for some teams to implement fully. Trunk-based development is the next iteration of a workflow that aims to commit and integrate all changes daily (or more often). Daily commits behind feature flags reduce the complexity of code management, conflict resolution, and integration testing. With feature management, development teams can commit unfinished code to the main branch without concern that it will be exposed to end users. Feature flags also support the continuous delivery and DevOps notion of “immutable code,” where an artifact moves through multiple stages of the software development pipeline without being altered. This is possible by leveraging the real-time conditional evaluation functionality for specific users, which supports a variety of testing and feature release scenarios.

Feature Management Fringe Benefit: A/B Testing

Advanced feature flag management platforms that support feature management also provide functionality that hasn’t been readily available to software development teams in the past. A/B testing and feature experimentation were once considered specialized disciplines requiring data scientists and dedicated experimentation platforms, and commercial experimentation solutions in that space were not built for continuous delivery optimization. Now, the feature flag management platforms built for data-driven engineering team use cases make it possible for any feature release to become a feature experiment without additional work or expertise.

Switch It On With Split

The Split Feature Data Platform™ gives you the confidence to move fast without breaking things. Set up feature flags and safely deploy to production, controlling who sees which features and when. Connect every flag to contextual data, so you can know if your features are making things better or worse and act without hesitation. Effortlessly conduct feature experiments like A/B tests without slowing down. Whether you’re looking to increase your releases, to decrease your MTTR, or to ignite your dev team without burning them out–Split is both a feature management platform and partnership to revolutionize the way the work gets done. Schedule a demo or explore our feature flag solution at your own pace to learn more.

Split - icon-split-mark-color

Want to Dive Deeper?

We have a lot to explore that can help you understand feature flags. Learn more about benefits, use cases, and real world applications that you can try.

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.

Want to see how Split can measure impact and reduce release risk? 

Book a demo