The impact of feature flags on the world of software development continues to widen and industry analysts are taking note. The research and advisory firm Forrester recently released its report on feature management and experimentation through the use of feature flags. The report found that application development and delivery (AD&D) organizations generally haven’t been able to improve release cadence by using continuous integration and continuous deployment (CI/CD) tools on their own. Feature management platforms are helping development teams remove roadblocks to faster releases, separating deployment from release and simplifying branching by shifting to trunk-based development. They are permanently changing the way software is developed and deployed.
We outlined a few of our key takeaways from the report below.
CI/CD Tools Alone Aren’t Enough
CI/CD tools have allowed AD&D organizations to release code to production faster and faster, a basic necessity for staying competitive in the market. However, they also need to get things right the first time, every time—and there are no guarantees.
As the Forrester report states, AD&D organizations frequently hit roadblocks on the way to production. It’s difficult to simulate production in a test environment, and if teams are using microservices, syncing environments becomes more complex. Homegrown feature flag solutions may solve a short-term problem, but maintenance and operation costs add up quickly. Branching strategies originally devised to improve delivery speed only end up slowing it down, as long-lived feature branches accumulate technical debt over time that needs correction when it’s time to merge.
CI/CD tools help deliver code to production, but they can’t solve any of these issues on their own—they don’t go far enough in meeting the need to get things right.
Feature Flags Eliminate Hurdles to Production
Feature flags can ease these concerns and de-risk the process of pushing code to production. They allow features to be “turned on” or “turned off” based on a series of customizable criteria. Teams can release code to production behind a feature flag that is “turned off,” and simply turn the feature flag on when it’s ready for testing by a small group. This separation of deployment from production helps cut the need for dedicated release processes, clearing the path to production.
The report also notes that development teams use feature management to eliminate long-lived feature branches. With feature management, teams can move to trunk-based development, in which code is maintained in a single trunk and turned on or off as necessary, using feature flags. This keeps all code current with other features being developed, and avoids unexpected conflicts when merging long-lived feature branches back into main.
Many of the best software firms use feature flags and feature management to enable progressive delivery for their development teams—and to improve release cadence in a very controlled manner.
Feature Management Is the Future of Software Development
Feature flags and feature management platforms are changing how software is developed and delivered. They decrease stress around pushing out new features—it’s no longer necessary to put development teams through midnight releases and “merge hell.” The Forrester report mentions that feature management is becoming essential to attracting new talent. Developers prefer working this way, and consider feature management to be a key factor in selecting their next career opportunity.
It also mentions that feature management platforms open a door to better collaboration among development teams and business stakeholders. Development teams can release continuously while business stakeholders decide when to activate new features based on user data. Good communication is a necessary part of this process, of course—but feature management begins to break down the silos between development teams and the business side.
In the report, Reese Stanley, director of engineering and technology at J.B. Hunt Transport, told Forrester, “Our direction is organic growth, but you can’t recreate a 25-year-old system overnight. So we use feature flags to help us achieve organic growth by allowing us to control what feature set the end user is exposed to.”
It may sound like feature flags are the best new thing since sliced bread, but of course there are caveats. Implementing feature flags without a process to sunset them at the right time can lead to technical debt. It’s also important to have a clear naming convention in place—and to actually use it. Feature management platforms can help enforce naming consistency and avoid “feature flag sprawl” more effectively in the long term than a “roll your own” approach.
Given their usefulness and popularity, it’s clear that properly implemented and managed feature flags are the future of software delivery. At this point, it’s not a question of whether your organization should use feature flags—it’s a matter of when and how to start.
To dive deeper into the report from Forrester, download the full report.
Stay up to date
We'll never share your email address and you can opt out at any time, we promise.