your123 - stock.adobe.com
Big companies reported benefits from feature management at a conference this week, with the caveat that it requires careful long-term planning to use well -- a potential snag one vendor wants to smooth with prepackaged workflows.
Feature management is the process of separating the release of features to live end users from the deployment of code to IT infrastructure. It works, in part, by introducing if statements in code -- called feature flags or feature toggles -- that turn features on and off in production. This makes it easier to release features gradually and test whether they're working properly before they're fully available to all users or to turn off unnecessary features to cope with traffic spikes.
Feature management helped companies such as AMC Theatres cope with surges in ticket demand on its mobile app and SPS Commerce improve internal developer experience, according to presentations at a conference held by vendor LaunchDarkly this week.
Long term, however, cleaning up these if statements in enterprise codebases once features have been released can present an organizational and technical challenge, presenters said.
"As you begin to add more feature flags across different paths and you start to run into accidental flags within flags, it becomes extremely complex," said Travis Gosselin, distinguished software engineer at SPS Commerce, a Minneapolis-based communications network for supply chain and logistics businesses.
"In many cases, these multiple code paths don't just add complexity," Gosselin said. "They can actually add compile time and test execution time to what you're doing … even additional cloud resources that you're paying for, used by code paths that may not have been cleaned up properly."
Thus feature management required its own organizational realignment, similar to Agile and DevOps transformations, presenters said.
For example, feature management helped World Kinect, a global energy company, move to canary testing and progressive deployment, improving the reliability of systems. But it also took a lengthy adoption process over the last four years to get there, said Alejandro Cuba Ruiz, principal front-end engineer at World Kinect, during a conference presentation.
"Flags needs to be monitored, maintained and possibly archived," Ruiz said. "We [worked with] the customer representative and engineers from LaunchDarkly, the community, and the guidelines specified in official documentation to build our own set of rules for the feature flag lifecycle from creation and adopting specific naming conventions to the archival process."
LaunchDarkly integrates migration, mobile deprecation
LaunchDarkly's software already offered utilities for feature management, such as GitHub code references, which locate feature flags for removal, along with feature flag archiving support. But engineers at the company also noticed patterns in the way customers such as World Kinect arrived at feature management workflows and looked to codify those patterns for newer users with product features rolled out this week, according to Jonathan Nolen, senior vice president of engineering at LaunchDarkly.
"We realized that those things that the most advanced teams were doing were not always necessarily obvious to people," Nolen said in an interview with TechTarget Editorial last week. "What we set out to do is make these advanced use cases part of the product."
One such advanced workflow is migration, which led to the addition of a specialized type of feature flag in the LaunchDarkly platform this week named Migration Assistant. It includes a template for gradually moving users between old and new platforms.
Another update, Mobile Release Optimization, governs the release of features to mobile devices and apps that accommodate delays in app store approvals and user device updates, including the deprecation of features on mobile devices that are no longer supported. These features got the attention of conference attendees such as Jari Thorup Palo, a staff engineer at Volvo Cars.
"Identification of stale flags and deprecation of those … excites me the most, purely because of being able to effectively find and eliminate clutter," Thorup Palo said in an online interview this week. "When working with systems like this, it's not just a system with some data manipulation. It's a work environment. I like having tools for making work environments tidy."
This week's release of Segment Builder, which integrates with customer data sources such as Twilio's Segment to fine-tune audience targeting, is primarily meant for business managers. But Thorup Palo said it could also be used by engineers.
"My suggestion [is] seeing code maintainers as a segment in itself, [which] could enable maintainers to get extra debug information if something has gone wrong," he said. "This could be used not only in production but on test or QA environments to fix issues before [they] end up in production."
Aligning feature management with best practices
LaunchDarkly's Release Assistant and Release Guardian were also added this week to guide the use of feature flags through preproduction tests and rollouts in production. Release Assistant builds pre-defined, repeatable paths for progressive feature releases while Release Guardian helps teams identify issues as rollouts progress and, if necessary, toggle flags off while problems are addressed.
These are separate from the CI/CD pipelines that push code, according to Nolen. Feature flags are present in code throughout the deployment process, and their availability to end users is governed separately by toggling feature flags on or off. Release Guardian isn't the same as a code rollback.
"These two concepts are operating at very different levels -- a pull request for CI/CD and often a whole feature or experience for Feature Management," Nolen said in a follow-up online interview this week. "In many cases, the feature release sometimes comes weeks or months after the first deployment of related code."
Still, multiple attendees commenting on LaunchDarkly's conference live chat called for some linkage between existing CI/CD environments and Release Assistant in the future, which Nolen said the vendor will consider.
"Our long-term goal is to integrate well with our customer's software development lifecycle so that we can draw that correlation between all of the commits and pull requests that ultimately constitute a feature," he said.
For now, Release Assistant relies on manual updates from developers as they complete workflow stages. But automation of these updates is on the roadmap, along with governance guardrails, according to a conference presentation.
The rest of LaunchDarkly's updates were focused on linking feature flag management with the needs of businesses: Funnel Experiments, which supports A/B testing according to different parts of the customer transaction process, and Engineering Insights Hub, which gives business stakeholders a view into how features are progressing.
Migration, AI and the future of feature management
LaunchDarkly's customer base has reached 5,000 enterprise accounts, according to a keynote presentation by company executives. Recent additions to this customer base include household names such as Vodafone and General Motors. It also has a long list of competitors -- other vendors that offer feature management include DevOps platforms such as Harness, CloudBees, GitLab, and specialists such as Split Software and DevCycle.
Jonathan NolenSenior vice president of engineering, LaunchDarkly
But while feature flags have solid traction in the market, they aren't as ubiquitous among mainstream companies as DevOps pipelines, said Andrew Cornwall, an analyst at Forrester Research.
"The reason why it hasn't caught fire as much as it might have is [the challenge of] maintaining the code base. … You're basically trading developer time in the cleanup for the ability to turn features on and off at runtime," Cornwall said. "It's probably more valuable for large enterprises -- places where you want to be able to disable a feature because you're just overwhelming your servers."
Migration Assistant could broaden LaunchDarkly's appeal beyond that large enterprise audience, according to Cornwall.
"There are a lot of [organizations] who get a lift and shift to the cloud, often with the assistance of a cloud provider consultant, and they end up locked into services that are unique to that cloud provider," he said. "So now they want to migrate to something that's more generic. I can see that generating a lot of interest [in Migration Assistant]."
Advances in AI, including coding assistants, could make scanning code bases for cleanup easier in the future -- a possibility Nolen didn't dismiss but didn't confirm as a definite roadmap item for the vendor.
However, much remains to be proven with generative AI, including its trustworthiness for enterprises, Cornwall said.
"I could see AI being helpful there, but I think I'd want to have more faith in it than I currently do," he said.
Beth Pariseau, senior news writer at TechTarget, is an award-winning veteran of IT journalism. She can be reached at [email protected] or on Twitter @PariseauTT.