Feature Flags Going Mainstream in 2019 But Challenges Remain, Survey Finds

2019 starts out with new insights about feature flags - about one of developers’ more popular go-to tools.  Even though they offer a simple and straight-forward way for developers to turn on and off functionality within an app or code, they can also add cost and complexity, says a recent study.

Tags: Atlassian, code, deployment, downtime, feature flags, Rollout,

Erez Rusovsky, Rollout
Erez Rusovsky
CEO
Rollout


"Feature flags are an awesome tool. But they’re a tool nevertheless. They can be misused, abused, or poorly implemented."

Application Architecture Summit
Modern Application Development for Digital Business Success
March 21, 2019
Online Conference

2019 starts out with new insights about feature flags - about one of developers’ more popular go-to tools.

 

Even though feature flags offer a simple and straight-forward way for developers to turn on and off functionality within an app or code, they can also add cost and complexity, according to recent study Raising the Flag: The Rise of Feature Flags.  

 

It found practical universal acceptance of feature flags, with 95% of survey respondents saying their organizations had implemented them or plan to do so.  Among the top reasons for using feature flags, survey respondents mentioned:

  • increase speed of development and deployment,
  • avoid customer downtime and
  • reduce risk of buggy code falling into the hands of users

However, the survey also revealed that feature flags are not foolproof – and can be tricky to implement 100% correctly. Respondents reported that when using feature flags they can encounter major challenges -- including proper implementation, higher costs and increased complexity.

 

The study is based on responses from 500 developers and decisionmakers worldwide   It was released by Rollout.io, a provider of feature flag management, and Atlassian, creators of Jira and other agile development tools. It was conducted by independent research firm Vanson Bourne.

Among the notable stats from the study: 

Of respondents familiar with feature flags, 88 percent stated that modern software development includes feature flagging

 

Respondents using feature flags like them.  81 percent said their use of feature flags will increase over the next 12 months.

Some 61% of organizations release new apps or updates once a week or more

 

A whopping 72 percent reported application errors severe enough that companies lost customers or users.

 

Practically all respondents  (97 percent) said they need to implement new application features quickly

 

Yet almost two-thirds (65 percent) admitted it was difficult to make rapid changes to apps reliably and safely.

“Feature flags are popular because they are simple to adopt. You don’t need deep architecture or engineering knowledge about your software,” Rollout.io CEO  Erez Rusovsky told IDN.  “They can give developers a way to change your software's functionality without changing and re-deploying code.”

 

Indeed, the survey found one of the most popular capabilities of feature flags is their ability to offer developers a  ‘kill switch’ – which can easily be set to turn a feature on or off without special coding.  The study said 87 percent of respondents agreed that enabling an on/off switch (or ‘kill’ switch) for features also offers app users an advantage because it reduces their risk of application downtime. 

 

But, Rusovsky added, there can be downsides. Indeed, for all the popularity of feature flags, the survey also found areas where developers and users reported some challenges. 

As he said in his blog at Rollout.io

Yes, feature flags are an awesome tool. But they’re a tool nevertheless. They can be misused, abused, or poorly implemented. . .   They don’t behave like other software artifacts that do so. They circumvent all processes around changes and traceability. No code reviews. No versioning. Nothing.

The study, in fact, called out several areas where users of feature flags conceded they faced problems:  

37 percent of respondents said that the cost of in-house development is higher

 

32 percent said they encountered more complexity than anticipated

 

While 90 percent of respondents said they use feature flags in-house, they said they  would consider using a third-party supplier for feature flagging management software

Rusovsky explained to IDN the case for using a feature flag management system.  

 

With a proper feature flag management system, developers avoid a lot of the complexity – and gain a ton more control and visibility into their use of feature flags, he said.

 

“If you don’t have ability to control features in development and in production, your ability to control the release of software is by version.  So only after test, test and test can you feel you have found and fixed all the critical bugs.  And that takes a long time. But with feature flags, and the right management system, you can isolate your software features better,” Rusovsky said.  

 

“Users can put new code into production with only a few features – or even just one new feature. They then can just see how it goes – and turn on others once it looks like the release is acting as expected,” he added.

 

Using feature flag management can also make sense from a business perspective, he said. Companies can better isolate components -- or entire feature sets. They can also choose to roll out their novel features more slowly and discreetly – making them available to only a select few users before they do a full general release to everyone. 

 

Bottom Line, the benefits are pretty strong: “Feature flags let developers speed up feature releases without risking errors or other impact to the user experience. That can also make the business happy as well,” Rusovsky told IDN.  “They also meet developers’ need to take more control over specific features” throughout the DevOps pipeline, he added.

 

This ability to give developers fine-grained feature flag management will become even more important, as Rusovsky said he expects their use to continue to explode.  He expects within the year, we could see an average of 30 feature flags per app.   

 

The use of features flags, in fact, may even escalate further with the growing adoption of microservices architectures, he added, as developers continue to look for more granular control over their apps, he added.

 

Rollout.io is a feature delivery and management company that accelerates software development and release and minimizes the risk of deploying new code. It offers a unified platform for feature delivery, experimentation, and application-layer remote configuration. It allows multiple stakeholders -- engineers, developers and product managers - to rollout, rollback, test and adapt features at scale and in real time.




back