Getting Started with Feature Management
Feature management lets your team focus on building, testing, and releasing better software. Unleash reduces tedious processes and minimizes risk, offering developers real-time feature flags, gradual rollouts, and control over feature releases at scale. This empowers teams to confidently deliver high-value, user-focused solutions.
What is feature management?
Feature management, or feature flag management, is a modern software-development practice that enables the gradual release of new futures to selected user segments or controlled cohorts prior to software rollout.
It applies a technique called feature flags, feature toggles, or feature switches to actively manage the feature development and testing process. Unleash feature management software enables feature experimentation and A/B testing to determine which version performs best in the opinion of the controlled and targeted user population to deliver what users really want and need.
Feature management also frees developers from the “all-or-nothing” release problem, as any feature can be rolled back without affecting the rest of the software and without the risk of breaking code in production.
Why feature management is essential for modern DevOps teams
Feature management is a key part of DevOps, speeding up the software development process. Feature management is implemented with feature flags which reduce the need for long testing cycles that still fail to find all the possible bugs when code meets real users.
Feature flags also reduce the risk of downtime when a feature needs to be rolled back. And they enable data-driven optimization, which is essential to improving user experience and driving revenue.
How feature management works
A simple and intuitive feature tagging platform gives you control over which end users can see which features. This technique has been used by developers for decades in the form of simple Boolean flags within a team, platform, and application.
In contrast, the extremely versatile and flexible Unleash feature management platform enables the use of multivariate flags across several environments, applications, and services, as well as the automation of experiments, canary releases, and gradual rollouts.
The simplest way to use a feature flag is to enable (on) or disable (off) it with a toggle switch. To make it more comprehensive, the Unleash feature management platform uses strategies that let you set parameters for feature flags. For example, you can enable the feature for specific users, a specific percentage of users (gradual rollout), users with a specific IP address, hostnames, and more.
Feature management: rollout and deployment strategies
Feature flags provide a versatile toolset for managing rollout and deployment strategies, allowing teams to balance innovation with risk mitigation. Below are key strategies enabled by feature flags:
- Progressive Rollouts
Progressive rollouts gradually expose new features to users, starting with a small segment before expanding to a larger audience. This minimizes risk by enabling real-time monitoring and rollback if issues arise.
- Gradual Rollouts
Similar to progressive rollouts, gradual rollouts focus on delivering features incrementally over time. This approach ensures operational stability by providing continuous feedback and validation.
- Blue-Green Deployments
Blue-green deployments maintain two live environments—one active and one idle—to seamlessly switch traffic during releases. Feature flags simplify this transition by dynamically routing users between environments.
- Canary Releases
Canary releases introduce changes to a small subset of users, functioning as an early warning system for potential issues. Feature flags empower teams to manage this process with precision and flexibility.
Feature flags enable precise control over the rollout and deployment strategies by allowing teams to segment users, dynamically route traffic, and monitor performance in real-time. They offer the flexibility to toggle features on or off, ensuring quick adjustments or rollbacks with minimal disruption across progressive, gradual, blue-green, and canary approaches.
Feature management: use cases
Feature management empowers teams to address diverse use cases by leveraging feature flags for flexibility and control. Below are some key examples:
- Testing Strategies, like A/B Testing
Feature flags simplify A/B testing by enabling teams to deliver different experiences to user segments and compare outcomes. This approach ensures informed decision-making based on real-time data and performance metrics.
- Trunk-Based Development
Feature management supports trunk-based development by isolating changes behind feature flags, allowing frequent merges without disrupting the main branch. This enables rapid iteration and smoother collaboration across teams.
- Kill Switches
Kill switches provide a safety net to instantly disable problematic features without redeploying code. Feature flags make this process seamless, ensuring minimal downtime and quick issue resolution.
Test new features on any sub-segment of users
Feature flag management is all about giving specific users access to specific software features. Unleash creates user segments based on available data – they can be simple or complex, as needed, and can be used to target any group of users, such as those in a specific region or with a specific device type, or those who logged before a specific date or time.
Strategy constraints are conditions that must be met for the feature to be toggled. Not only do they allow you to deploy a feature only to users in a specific region, schedule a feature to be deployed at a specific time, or make a feature available only for a limited time, but you can also use strategy constraints to enable a feature for users with, for example, a specific set of email addresses. And much more!
Testing new features on a user segment allows you to introduce features for experimentation and save a lot of development resources that can be spent on coding, quality assurance, and deployment. It also enables the development of better features thanks to user feedback and the improvement of features that eventually meet all user expectations. Testing also helps validate the business impact of specific features on the organization’s key KPIs.
Better testing, safer rollouts
The cornerstone of any feature management tool is the ability to gradually move features into production while they are still in development. With Unleashed, features can be made available more quickly to a controlled group of users for testing and gradual rollout to minimize risk, identify potential problem areas early, and make rollouts safer.
The feature management platform also enables the implementation of continuous deployment of microservices, as effective feature flag management allows control of application behavior without going through an additional round of the review and testing process. This allows developers to combine feature testing with code deployment resulting in an optimized user experience.
In addition, features are rolled out without impacting software stability, in an inactive state. So with feature management tools, you can add more features to applications and/or web products faster and more securely.
How to enable secure, scalable feature flag management
Instant rollbacks
Unleash allows you to roll back any feature instantly with the click of a button or fully automated via our API. Rolling back features at runtime instead of relying on a code deploy is faster and reduces downtime and poor user experience that happen when features are misbehaving.
Self-hosting or single-tenant private instance
Run Unleash as a self-hosted service in your data center, or let us host it as a single-tenant private instance. In either case, no end-user data ever leaves your environment.
Easily scale with Edge
Unleash Edge is built to be a read replica of Unleash that makes scaling out incredibly cost effective and easy to implement. With Edge you can easily scale to 10s of thousands of requests per second. Multiple hosting options available.
SSO-integration
Integrate with your corporate SSO provider like Okta or Active Directory. You can even add and remove users from Unleash using our SCIM integration.
Change requests
Implement the four-eyes principle by requiring a configurable number of users to approve any feature flag state change. Multiple changes can be grouped and approved together.
Granular role-based access
Define access controls by project, flag, instance, or nearly 30 other attributes.
Detailed audit logs
Quickly answer “who released what, when, and to whom” with detailed audit logs of every state change, login, or network request.
Open metrics engine
You can use feature flag events to send impression data to an analytics tool you choose to integrate like Grafana, Prometheus, Splunk, Datadog or more. Our impression data gives developers a full view of the activity that could raise any alarms and be used for managing progressive rollouts. We make it easy to get our data, your application, and an analytics tool connected so you can collect, analyze, and report relevant data for your teams.
Fully automated feature rollout and rollback
Unleash Signals enable you to take in telemetry from any system capable of emitting JSON metrics. Unleash Actions allow you to take those signals and automatically adjust rollout strategies, initiate rollbacks, or enable kill switches.
Cross-session Stickiness
Guarantee that the same user sees the same experiments across sessions with custom stickiness. Stickiness can be implemented using a user id, session id, or any other appropriate parameter for your experiment.
Open source options for feature management
Unlike proprietary software where users are bound to the product roadmap determined by the company (and its shareholders), an open-source feature management system allows you to modify and improve the software based on your specific use cases. Our users are not bound or dependent on the limitations of our code.
Unleash open source is available as a docker container, or click-to-deploy in Heroku and Digital Ocean. Choose your preferred deployment and get started in minutes.
While there are other proprietary tools such as LaunchDarkly, we believe there are a lot of benefits to using an open-source system like ours. See for yourself.