A good rollout plan gives developers control of the releases in the development cycle of a limited set of features. This way is possible to ship and test specific changes into a control group before deploying to all your users.
In the early stages of development, a small team could release multiple changes to production every week or two. Testing the impact of specific changes was difficult because of the noise generated by releasing a large number of features at the same time. Another problem development teams faced with the early approach, was the risk of a full rollback if anything went wrong, which eats up the company’s time and resources.
In response to this issue, many product teams started planning and releasing specific changes to a set of users instead of full feature releases. This approach allows for copious testing of the new feature.
Advantages of Feature Rollout Plans
A good feature rollout plan can provide a solution. One of the advantages is that it encourages collaboration and considered planning. Instead of pushing new features to all users, development teams are able to do controlled releases in the development cycle by incorporating a release strategy.
Sometimes a product with a large number of users will need major changes. In this situation, a rollout plan makes a significant impact on the success of those changes. Rolling them out in phases or segmenting users into groups to test different features gives companies the freedom to fully test the user interface and user experience, as well as to run more tests. This creates a faster feedback loop, which allows dev teams to spend less time debugging and more time building features.
Rollout Plans With Feature Flags
There are multiple ways to deploy new feature rollouts; one useful method involves feature flags. Feature flags are a software development technique that let dev teams turn features on and off, without having to deploy new code. Using feature flags gives companies the ability to perform more incremental rollouts. It also fixes bugs in the code without redeploying, creating a smoother, more streamlined development cycle.
The Feature Rollout Process
To properly execute a feature rollout plan, you’ll need to implement careful planning, scheduling, controlling, and testing a feature every step of the way until its release. The process goes like this:
- Design the new feature, examine the use case, and develop a timeline for completion.
- Develop a release strategy that sets the parameters of release and a plan for incorporating feedback from your end-users.
- Further develop the feature and manage it’s progress as it passes through various development environments.
- Using feature flags to manage rollout and user targeting, test the feature. Then assess the quality of its performance with feedback from your users.
- Launch the feature with the feature toggle off, then implement your rollout strategy.
- Gather feedback so that you set in place a constant feedback loop.
- Work with your team and product manager to monitor the feature’s continual release throughout the development cycle. This will allow you to make incremental changes based on user feedback and continually optimize the product as you release your feature to your entire user base.