Percentage rollouts are when you can release new features gradually. It allows you to ensure a good user experience before releasing the feature to a wider audience.
Feature flags can be used to decide who gets access to a new feature. On the DevCycle dashboard, you can slowly roll out a feature to a certain percentage of your users. You also have the ability to determine which users it will be rolled out to based on factors such as location, device type and more. From there, you can measure the impact of a feature as it’s released to your user base.
A vigorous QA process isn’t perfect; it can’t find all the potential problems your feature may have. This means you’re still only finding out about some bugs when the new feature is released. To minimize risk, you can launch features to a fraction of your users and get feedback. Then, you can see what bugs arise and roll back the feature if there are any major issues.
By slowly rolling out a feature to a small percentage of users and gradually increasing it, you reduce the risk of having users interact with a feature that has bugs. If there are any problems with your feature, it’s easy to catch during the first small initial rollout that you can quickly roll back and fix rather than having the error appear for all your users.
Controlled releases should always be used in rollouts. They help minimize risk by only showing it to a subset of your users and allow you to gather feedback on the feature you're releasing while ensuring it’s working as intended.
There are two types of controlled rollouts: releasing a new feature to a certain percentage of customers or releasing it according to what they have in common, like location or IP address.
For a percentage rollout, the development team starts with a small release to 1% of their customers. The team will now measure different CX metrics, such as whether the functionality seems to be working well and increasing customer satisfaction. If the release goes well, the team will then roll out to 10% of their customers and more as it continues to perform as expected.
With releases based on common attributes, a team could release a feature to only Toronto, then to Canada, North America and then the rest of the world. You could also release a feature for beta testing to a small group of volunteers. The team can select beta testers using their unique user ID. This way, the new feature will only be released for certain users.
This type of controlled rollout is often combined. A team might start by releasing to internal users by IP address. Then they might release it to the beta test group. Next they might release to 1% of the entire user base. And then they would continue the rollout to everyone.
Reduce cycle time, release complexity, and deployment stress
No credit card required
The most common way to implement a percentage rollout is by using feature flags. DevCycle's targeting capabilities to carry out controlled rollouts in a variety of ways. You can use feature flags to target your users based on any metric. This allows you to control the rollout of features for both controlled rollouts and other purposes including subscription models, paywalls, and unfinished features.
Feature flags are a great way to make the process of targeting easier because they make rollback as simple as the click of a button. All you have to do is switch off the feature toggle, and your application is back to normal. This way, you can easily fix bugs without worrying about how they will impact users.
DevCycle is a feature management tool that allows you to leverage feature flags to ship faster, reduce risk and maximize the impact of your canary release. By leveraging feature flags, you can increase your release cadence by minimizing release complexity.
Through continuously deploying and testing in production, you can organize your feature flags in several environments with our APIs without needing to leave your workflow. Developers, product, and marketing teams can toggle a feature on or off in the DevCycle dashboard to control who has access.
Your team can also predetermine a rollout schedule to specify which users have access to a new feature and at what date. This means you can create a predetermined rollout period for your release and let DevCycle gradually deploy it based on the rollout schedule your team set up.
DevCycle also enables you to maximize the impact of your releases through zero latency experimentation build for developers. Iterate and optimize features with the ability to dynamically modify content in production without redeployments.
Engineering teams can employ continuous integration and continuous delivery to keep up with the competition. This practice will allow for faster development cycles, as well as the ability to deploy new features without risk of errors. Practices like implementing percentage rollouts also help mitigate risk.
Want to use feature flags to start using percentage rollouts and improve your software development workflow? Get started with a free trial of DevCycle.
DevCycle started from us wanting to build something we want to use for ourselves. We're documenting every major decision and technology we're choosing to use.Learn More About What We're Building