A critical part of every new feature release is orchestrating the actual launch schedule between Product, Engineering, and Marketing teams. While it may seem like a trivial component, a poorly executed rollout can be the anticlimactic death of what could’ve been an exciting new feature announcement.
Delivering powerful user experiences typically requires software teams to manage complex releases and make manual updates at inconvenient times. But it doesn’t have to.
We’d like to announce Scheduling workflows in LaunchDarkly, now available for all Enterprise customers. Scheduling frees teams from the hassle of setting reminders or waking up early to turn a flag ON. You can now plan and automate progressive rollouts and other flag updates in advance, so you can focus on building the feature, while LaunchDarkly takes care of the release.
Scheduling Flag Changes
Scheduling introduces the ability for users to plan and pre-define changes to their flags and segments for future points in time. While this sounds deceptively straightforward, it unlocks the potential for users to create complex release strategies by scheduling the incremental steps in advance.
For example, you may want to turn a feature ON for internal testing tomorrow and then enable it for your ‘beta’ user segment four days later. Finally, a week later, you want to start rolling it out from 0% to 100% of your user base. Now, you can define this workflow using flag scheduling and be assured that all the steps will take effect at the specified dates and times.
We also wanted to allow scheduling multiple flag updates simultaneously so that users could define an end-to-end release strategy. However, in reality, the state of the flag may change several times before the scheduled change actually executes. Additionally, it was important to do this without locking down the flag from any immediate changes. To make this possible, we built this functionality using Semantic Patch – which captures the actual intent of the flag update, rather than being specifically tied to a diff of the current flag state.
Benefits of Scheduling Flag Changes
Timing a feature launch
LaunchDarkly users no longer need to set reminders or wake up early to turn flags ON. Scheduling your flag to turn on at a specified date/time allows you to plan your release (even across multiple flags) and let LaunchDarkly do the rest.
*Fun fact: We actually automated the launch of this very feature by scheduling it to turn ON.*
Schedule your flag to roll out to a targeted user segment tomorrow, followed by 20% of your entire user base the day after, 35% the day after that, increasing at desired increments over time until it reaches 100%. Progressively releasing a feature helps ensure it is performing the way you hoped it would while reducing the impact of any unforeseen problems. Now, you can let LaunchDarkly handle the rollout without worrying about the execution.
Limited-time user access
You can now schedule the addition or removal of rules targeting certain users and segments from your flag’s targeting to better manage user access. Let’s say, a customer wants access to a feature for 30 days starting 3 days from now. You can add a rule targeting the customer to get access and schedule it for 3 days later. Immediately after, you can schedule the removal of that rule for 30 days from the day it gets added. This sounds complicated, but with LaunchDarkly’s Scheduling, it’s a couple of quick actions to save your team significant toil.
We believe that Scheduling is only the first pillar of several automation capabilities within LaunchDarkly that unlock the potential for your teams to practice better feature management. Our team is hard at work to bring you Approval-based workflows and Metrics-driven flag triggers soon, so your teams can experience the true power of Feature Workflows.
You will see these updates roll out to your LaunchDarkly account over the coming months, but if you’re interested in getting early access to any of these features, you can sign up here. As always, if you have any feedback or questions, or generally want to discuss best practices for good feature management, feel free to reach out to us at firstname.lastname@example.org.