Why Feature Management Is the Future of Software Delivery
A software launch is a big stressor for many developers. The stakes are high when a feature is released into production for the first time — the team sit anxiously at their computers, waiting for something to go wrong.
Contrast this stomach-churning experience with an ideal software launch that’s simple, safe and, well, boring. Getting there starts with feature management, an approach to software delivery that enables teams to ship software faster, while virtually eliminating risk in the process.
In this article, we’ll explain what feature management is, who it’s for and how it’s affecting the future of software delivery.
What Is Feature Management?
Feature management is a new class of software development tools and techniques powered by feature flags, also called feature toggles. These are levers of control in your code that let you deploy code to production without fully releasing it to end users.
Developers have used some variation of feature flags for years. But when it comes to maximizing their full potential, many product delivery teams are only scratching the surface. Feature management enables teams to leverage feature flags across an array of impactful use cases.
For example, feature management paves the way for progressive delivery, a new and important software development lifecycle. Let’s unpack the relationship between feature management and progressive delivery.
How Feature Management Fuels Progressive Delivery
Progressive delivery is a new software development methodology that provides safeguards for continuously pushing new code to production. Think of it as the next iteration of continuous delivery, but with more emphasis on risk reduction and business objectives.
Feature management enables progressive delivery, and progressive delivery enables feature management. The two are entwined. Accordingly, the goals of feature management and progressive delivery look nearly identical.
We expect progressive delivery to shape how software is built and shipped, and to decide who wins and loses in modern software development.
Feature management certainly sounds great, but it’s more than just an idealistic theory. It drives tangible benefits.
4 Ways Feature Management Boosts DevOps Performance
A feature management platform like LaunchDarkly enables teams to improve their performance across the four key metrics of software development and delivery set by the DevOps Research and Assessment Group (DORA).
Let’s take a look at some real-life examples:
1. Deployment and release frequency
IBM went from deploying to production twice a week, to more than 100 times a day with LaunchDarkly.
2. Lead time for changes
A 2020 survey shows that after using LaunchDarkly, customers saw a 76% decrease in their lead time for changes.
3. Mean time to restore service (MTTR)
Atlassian, maker of popular software products such as Trello, Confluence and Jira, reduced its MTTR hours by 97% with LaunchDarkly.
4. Change fail rate
The 4 Pillars of Feature Management
Feature management consists of four pillars: build, operate, learn, and empower. Leveraging feature flags across all four pillars puts you in a position to realize the full potential of feature management.
Pillar 1: Build
The build pillar addresses the use of feature flags for building and delivering new features, bug fixes and code changes of any kind. Build is critical for pre-release activities such as trunk-based development, testing in production and rollout planning.
The goals of build are to deploy faster, lower the cost of mistakes and gain more control over who sees which code changes when.
Pillar 2: Operate
Operate encompasses feature flag use cases that improve the operational health of your application. This pillar entails making feature flags a mission-critical piece of your operations. As deployment speeds and infrastructural complexity ramp up, so does the need for operational safeguards. Feature management is that safeguard.
In operate, teams experience fewer system failures. When failures do occur, they recover faster, often in minutes, if not seconds.
Pillar 3: Learn
The learn pillar of feature management focuses on enabling all teams to better understand how software changes affect users and systems. It is designed for the entire product delivery team: developers, DevOps and site reliability engineers, and product managers.
Of all the pillars, learn is especially concerned with helping software organizations run more holistic experiments and become more data-driven. With LaunchDarkly, for example, you can assign metrics to feature flags, giving you clear insights into what is and isn’t working so you can make decisions based on evidence, not guesswork.
Pillar 4: Empower
Empower is all about enabling customer-facing teams to play a bigger role in delivering software. Generally, business stakeholders have had more insight into customer needs than developers. Yet, historically, they’ve lacked a way to control how features are released to these customers.
Feature management empowers business stakeholders with the control they’ve been missing, to the benefit of all teams. When engineers build features, they can hand them off to business stakeholders and say, “Hey, we wrapped these features in a feature flag. You decide when they go live, who sees them, etc.”
Our Vision for the Future of Software
At LaunchDarkly, we envision a world where software development is proactive, not reactive — a world in which software organizations can move fast without breaking things.
In a software-centered world that is full of uncertainty, control is your greatest asset. Feature management gives you that control, and LaunchDarkly gives you feature management in its highest form. With a clean UI, robust access control and enhanced security, you can reap the full benefits of feature flags at any scale.
Want to take a deeper dive into the topics we covered above? Check out our Definitive Guide to Feature Management.