How Feature Flags Help You Put Customers First

155 VIEWS

·

In today’s fast-paced and feature-driven market, businesses have to release products very quickly in order to remain competitive. It’s vital you consistently deliver value to your customers and continuously address their feedback. Feature flag management is an essential part of this process, especially when combined with canary releases. This blog will explain why managing feature flags is crucial for your customer-first CI/CD pipeline.

If you have a CI/CD pipeline delivering software solutions to your customers around the world, quality assurance should be important to you. Logically, you’ll want to test your application and use release-approval checkpoints, but these checkpoints are manual and time-consuming. Nevertheless, they are vital for minimizing the chance of breaking your user environments, which would lead to an expensive rollback to a previous version. If you want an efficient CI/CD pipeline, you should never roll back, and you should also make sure that your code is customer friendly.

What are feature flags?

Feature flags are if/else statements that create a conditional branch in your code.

feature flags

Feature flags support a customer-first DevOps mindset, allowing you to enable (expose) and disable (hide) features in a solution even before they are complete and ready for release.

A feature flag is also known as a feature toggle, feature flipper, feature switch or conditional feature.

To put it simply, it’s an ON | OFF switch for a specific feature.

Feature flags are very useful when you’re doing A/B testing. You could run an experiment to determine a hypothesis: which feature your customers would prefer. You’d just need to click the feature ON or OFF — no redeployment required.

How do customers benefit from feature flags?

Feature flags enable DevOps to be more customer-friendly by enabling (exposing/ON) or disabling (hiding/OFF) specific features. This can be done for all features, even if they are still in development or contain a flaw or bug, which makes it suitable for the whole CI/CD pipeline.

By using feature flags, customers get functionality faster and with less risk, which leads to greater confidence in your product. As you’ve seen, feature flag management allows you to put customer satisfaction first: Feature flags fine-tune your customers’ experience.

How can canary releases benefit from feature flags?

With a canary release (aka canary deployment/launch) and feature flags, you can slowly release new features to a predetermined subgroup while releasing your current branch to the rest of your users at the same time. This way you can verify if the release performs as expected: you test the stability of your code. Redeployment is not necessary and incomplete/faulty features can be hidden after release, plus you know exactly which feature is exposed in your release.

But feature flags come with a cost

As with every solution, feature flags come with a cost:

  • Building feature flags will increase your maintenance costs.
  • Using the flags will double your code, including your tests.
  • Feature flags are not all binary (ON/OFF); there are also multi-value options that will make your code more complex and potentially more vulnerable to bugs or flaws.
  • You must have a good management solution. You have to know which feature flags will be useful for the release and which should be disabled.

For these reasons, you must have good visibility into your use of feature flags, consistent conventions across your teams, and a great management tool.

How do customers benefit from feature flags?

Feature flags enable DevOps to be more customer-friendly by enabling (exposing/ON) or disabling (hiding/OFF) specific features. This can be done for all features, even if they are still in development or contain a flaw or bug, which makes it suitable for the whole CI/CD pipeline.

By using feature flags, customers get functionality faster and with less risk, which leads to greater confidence in your product. As you’ve seen, feature flag management allows you to put customer satisfaction first: Feature flags fine-tune your customers’ experience.

Wrap-up

Feature flag management enables customer-first software development.

You can use feature flags in a canary release. Just make sure that you are aware of the overhead that comes with it: your code and your maintenance costs will increase. When done correctly, combining a canary release with feature flag management will enable software delivery teams to speed up their CI/CD pipelines while delivering their customers excellent user experiences.

http://abundant-bit.flywheelsites.com

Cordny Nederkoorn is a software test engineer with over 10 years experience in finance, e-commerce and web development. He is also the founder of TestingSaaS, a social network about researching cloud applications with a focus on forensics, software testing and security.


Discussion

Click on a tab to select how you'd like to leave your comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Menu