CR picks up where CI/CD leaves off, finally delivering on the promise of DevOps: speed, with safety.
The move to the cloud promises companies a constant delivery of value to customers via the continuous delivery of new features, fixes and updates to software products. Most organizations, however, struggle to realize this promise: their software delivery practices are stuck in the past, with outmoded release chains and all-or-nothing deployments.
Controlled rollout (CR) is a new approach to software delivery that avoids these pitfalls. Controlled rollouts focus on discrete features, launching new functionality to a small subset of customers while measuring their impact on user experience. New features are gradually rolled out, and if something does go wrong can be rolled back quickly, without affecting the rest of the product or the customer base, saving engineering the headache of a large-scale redeployment.
A controlled rollout can be accomplished through an amassing of customized internal tools and practices, but it’s more easily accomplished through a controlled rollout platform, removing the resource burden of maintenance and adding myriad secondary advantages.
Each new code release, no matter how well vetted, carries some risk to your customers’ experience. Despite extensive QA, mistakes can happen that can range from minor frustrations to complete outages—and lost revenue. Controlled rollout platforms mitigate risk by letting you test a change with a subset of customers and roll back that change quickly, with just the click of a button. In a matter of seconds a specific crisis can be completely averted without impacting the rest your service, reducing the impact-radius of issues and mitigating negative impact on the customer.
Adopting a controlled rollout platform allows a software team to constantly merge and deploy feature branches to production, thus avoiding the painful process of late-breaking integrations that delay software projects. Furthermore, CR allows teams to begin QA immediately, in production, by restricting new features only to employees.
Whether you’re designing a brand new product or tweaking an existing one, successful teams iterate early and often through customer feedback loops. Controlled rollout allows teams to respond quickly and effectively to the concerns of specific customers, quickly deploying fixes that only they can see and engage with as they continue the feedback process. Once adopted, this iterative approach leads to quicker overall development times—and of course, happier customers.
When you deliver features individually, you can also measure them individually, providing engagement data that can be correlated to business metrics, funnels and conversion flows. As each team in the business looks to the metrics that matter to them, controlled rollout provides a new look at what is driving those numbers.
Software companies need the ability to deliver functionality to any subset of customers. That could mean a percentage of your audience, an interesting demographic segment, or even a specific individual. It could also mean groups that are the result of many measure and dimension refinements. For B2B companies, it could mean launching one capability to accounts, and another to individual users within that account. A controlled rollout platform has to provide the flexibility, power, and specificity necessary to let software teams deliver their features only to the right audience.
Any robustness in targeting must be coupled with the security of the data that targeting draws on. Sending sensitive customer information over the wire for the benefit of audience segmentation is a non-starter. For companies in the financial sector, the EU, or other data-conscious fields, it might also be illegal. A true controlled rollout platform is able to accomplish the most granular targeting without shipping around data, even without needing to share it, in any way, with the CR platform itself.
Modern software launches are a team sport: engineers, operations, product managers and customer support teams all play critical parts in a successful launch. A controlled rollout platform should support the needs of every member of this team, whether they’re technical or non-technical. That means everything from allowing a product manager to target and launch a feature release, to a customer support agent granting access to a new feature to a single user, to sending launch updates and engagement data to the other tools and interfaces the team is already using.
Because it lives in your stack, a controlled rollout platform has to be a high-performance system. It should never add any noticeable delay or degradation to the performance of the product, and be capable of being utilized anywhere, front-end or backend, without any additional load on the system. Furthermore, and change in a rollout plan should go into effect immediately, instantly remediating pain points or delivering amazing new experiences.
Controlled rollout is an exciting new methodology that can finally deliver on the promise of DevOps - speed, with safety. Split provides the controlled rollout platform that is the benchmark for the field, whether you’re already using feature flags or just getting started.
Try Split's 30 day free trial, and get all the benefits of controlled rollout from only a few minutes of setup.
Using Split Feature Flags in Java
An example look at Split feature flags in-use in the Java language.
Download the guide
Choosing to Build or Buy
Important factors to consider in any controlled rollout solution.
Download the guide
Documentation: Getting Started
Jump into Split's getting started guide in our documentation.
View the docs