Why feature toggles brings business value
In this blog post, we will look at why feature toggles bring business value into DevOps, and how. We are getting used to having the same software development team taking care of both the development and the operations of the services — it makes perfect sense to have the ones that develop the service, also taking care of it afterward.
DORA — the state of DevOps have also through their four-year research program presented in Accelerate, found that high performing DevOps organizations perform better than less performing DevOps organizations. In the DORA — state of devops report 2018, it was presented that Throughput and Stability were the two key characteristics for the Elite performers. In order to achieve high Throughput — it was stated that the Elite performers were able to deploy On-demand, understood as multiple deployments per day when needed.
It is clear that doing multiple deployments per day is advantageous — for the throughput in the development team. Less time waiting to deploy, real feedback faster, and shorter time-from-idea-to-actual-implementation. The holy grail of high frequency of deployments will eventually get into the paradox that the deploys are happening too often.
From a product management or marketing point of view — the high frequency of deployments often turns into a new set of challenges. First and foremost — deploying multiple times per day, each incremental release does hardly makes any sense to the customers.
Second, “we can’t use our live production as a test-bed”, as one Product manager put it in a team meeting. And she is right. Frequent deployments to production are not meant to replace proper testing through your deployment pipeline, but some of those corner cases or some of the really critical issues are really hard to find unless you run the code in the product environment
“we can’t use our live production as a test-bed”
Third — marketing and PR campaigns are often directly coupled to the launch of a new feature or new customer experience on the digital service. To gain the most effect out of the campaign, it is often preferable to make sure the experience is not (fully) exposed to the public before the campaign goes live.
“decouple deploy to production from release to customers”
All of the three arguments above are where feature toggles come into play. A feature toggle management system, such as Unleash, allows you to decouple deploy to production from release to customers – think of it as decoupling the engineering team’s need for rapid iterations from the business side need for full control. Allowing this separation starts to bring business value into DevOps. Using different activation strategies, the strategic business decision on who gets what, when is fully independent of the frequent deployments to production by the software development team.
One common activation strategy is to use Gradual rollout. This strategy allows the team to enable the deployment to the team or a defined, small subset of the live users and not expose it to the full customer base.
Using the centralized overview part of Unleash, Product management is able to be in full control of when the new feature or customer experience goes live, to all customers. The neat thing is that the product manager is in a position to do so, without depending on the development team updating a config-file or token in code.
DevOps allows organizations to be high-performance. To bridge the gap between continuous innovation and frequent deployments to productions, feature toggle management systems such as Unleash decouples deploy to production from the strategic decision of release to customer.
Want to try Unleash?
|GET STARTED||TRY OUR DEMO|