Improving flag usage in code

Improving flag usage in code Read time: 10 minutes Last edited: Sep 18, 2024 Overview This guide provides best practices and suggestions for improving code that uses feature flags. These practices can improve both code quality and ease of maintenance. You can use code in tandem with your feature flags to maintain and improve the resilience of your process, including improving flag hygiene, giving your team more flexibility, refactoring flagged code to the degree that you need and no further, and generally increasing code quality. ...

October 20, 2024 · 13 min · 6129 words · Joey

Build - The first pillar

What is Build? The Build pillar addresses the use of feature flags for building and delivering new features, bug fixes, and code changes of any kind. While much of this category deals with release management, we’ve named it “Build” because of the critical role feature flags also play in pre-release activities. Such activities might include trunk-based development, testing in production, and rollout planning. Traditional software development is reactive: teams push code and pray things go well. Build offers a proactive approach, wherein developers test features in production and collect user feedback before a release. This implies making feature flags an essential part of your release strategy. ...

13 min · 6212 words · Joey

Empower - The fourth pillar

What is Empower? Empower, the fourth and final pillar of feature management, reimagines the process of giving users access to your software. It applies especially, though not exclusively to managing entitlements. In a software context, “entitlements” refers to the act of enabling or disabling features, services, and products for customers. For example, when you unlock your full application for a customer who had previously been using an abbreviated trial version, you have managed an entitlement. ...

13 min · 6457 words · Joey

LaunchDarkly’s vision of feature management

Software powers the world. LaunchDarkly empowers all teams to deliver and control their software. Theoretically, teams can engage in all four pillars of feature management without relying on a dedicated feature management tool. In many cases, engineers will construct a patchwork solution for feature flag management in-house. Some organizations, however, do build and use world-class homegrown systems. But in our experience, the latter is the exception. Unsurprisingly, LaunchDarkly contends that, in the long-run, a commercial feature management platform is more affordable, sustainable, and painless than the alternative. You can explore the pros and cons of building vs. buying a feature management solution here . ...

5 min · 2275 words · Joey

Learn - The third pillar

What is 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 (SREs) , and product managers (PMs). Of all the pillars, Learn is especially concerned with helping software orgs become more data-driven. As a part of this, it provides mechanisms for engaging in hypothesis-driven development, an approach that embeds the scientific method and experimentation into the process of building software. In this way, Learn also supports the “relentless pursuit of continuous improvement,” a key principle of Continuous Delivery . ...

15 min · 7492 words · Joey

Operate - The second pillar

What is Operate? Operate, the second of the Four Pillars of Feature Management, encompasses feature flag use cases that improve the operational health of your application. It entails making feature flags a mission-critical piece of your operations. As deployment speeds and infrastructural complexity go up, so does the need for operational safeguards. Feature management is that safeguard. Teams that use feature flags via a feature management platform reduce risk and ensure customers remain satisfied with their service. They dramatically cut down on serious incidents. For example, as previously cited, Honeycomb has a “change fail rate” of just 0.1% , a feat shared only by the world’s most elite software teams. And the company cites its use of LaunchDarkly as a big reason for its exceedingly low failure rate. ...

14 min · 6692 words · Joey

Reducing technical debt from feature flags

Reducing technical debt from feature flags Read time: 16 minutes Last edited: Oct 15, 2024 Overview This guide provides ways to reduce and eliminate technical debt related to feature flags using LaunchDarkly. Like all debt, technical debt accumulates over time, but you can mitigate that debt over time if you put effective processes in place before you need them. In this guide, we’ll explore: The challenge of technical debt The lifecycle of a flag Naming conventions Using tags Code references Deprecating, archiving, and deleting flags Just like feature flags should be a core engineering practice, so should a strategy to address technical debt. LaunchDarkly can help you by automatically identifying flags that need code removal or are ready to archive. ...

20 min · 9912 words · Joey

The definitive guide to feature management.

What is feature management? Feature management is a new class of software development tools and techniques powered by feature flags. A feature flag is a lever of control within your code (an if-else statement) that decouples code deployments from feature releases. Developers have used some variation of feature flags for years. But when it comes to enjoying the full benefits of feature flags, many have only scratched the surface. At most organizations, the art of feature flagging is confined to just a few teams across a few use cases. Such limits stem, in part, from the fact that managing feature flags at scale is quite challenging. For one thing, technical debt can rapidly accrue if you start using flags in large volumes. As a result, only a handful of developers end up using them, thus limiting the value an organization can capture from those flags (see what we did there?). Another drawback of conventional flags is they only support basic true-false, or Boolean, use cases. This, too, prevents organizations from realizing the full benefits of feature flags. ...

7 min · 3416 words · Joey