5 ways to drive agile experimentation using feature flags

Cloud software architectures, microservices, CI/CD (continual integration, continual progress) pipelines, test automation, and infrastructure as code are all systems that allow agile progress and devops groups to produce code to manufacturing regularly. They have taken software package progress from the days of quarterly releases and complicated integrations to a modern-day era of continual progress.

Builders have normally been involved about how to take care of the codebase to assistance recurrent releases, developer efficiency, element progress, and code refactoring to handle specialized financial debt. Github allows various progress and branching paradigms, like element branches, release branches, trunk-dependent progress, and Gitflow workflow. Branching methods construction what code goes into builds and therefore can be employed to control which attributes get deployed to finish-customers.

Despite an ongoing discussion on branching techniques, there is a solid consensus that progress groups need to avoid working with long-running element branches. Lengthy-running element branches typically generate complicated code merges when the element is completely ready to be integrated into the main branch.

What is element flagging?

Branching controls code deployment and can control regardless of whether a element receives deployed. But this is only a gross, binary control that can flip on and off the feature’s availability. Using only branching to control element deployments limitations a team’s means to control when code receives deployed when compared to when merchandise leaders allow it for finish-customers.

There are times merchandise owners and progress groups need to deploy attributes and control entry to them at runtime. For case in point, it’s practical to experiment and test attributes with unique consumer segments or with a portion of the person foundation. Attribute flagging is a capacity and set of applications that allow developers to wrap attributes with control flags. At the time developers deploy the feature’s code, the flags allow them to toggle, test, and steadily roll out the element with applications to control regardless of whether and how it appears to finish-customers.

Attribute flagging allows progressive delivery by turning on a element little by little and in a controlled way. It also drives experimentation. Capabilities can be analyzed with finish-customers to validate impression and encounter. Jon Noronha, VP Product at Optimizely, says, “Development groups ought to transfer rapid devoid of breaking points. Progressive delivery allows isolate the breaks to compact items and cut down the blast radius that can choose total applications down.”

Copyright © 2020 IDG Communications, Inc.