When to Use a Dark Launch Strategy
Ann McArthur
7/16/2023
What is a Dark Launch Strategy?
Dark launching is a process that lets you release production-ready software features to a small group of users without exposing them to the rest of the user base until they're ready. Dark launching also includes deploying code to a production environment, but without exposing it to any production traffic.
With the rise of continuous delivery, development teams are under pressure to release new features faster than ever. But with so many changes, it’s difficult to get feedback on those features. Dark launching is a technique that gives teams the ability to gather user feedback, fixes bugs, and assess performance on an already live system without impacting the production environment.
Dark launching is a new, probative tactic in the world of product development. It allows for a new, production-ready feature to be tested and soft-launched without releasing it to all your users.
It’s very important to monitor user responses as the feature is rolled out. Software teams might be looking at how the new functionality affects system performance and user responses to decide whether it should be rolled out to a wider audience.
Why You Should Choose a Dark Launch
Dark launches are a great way of gauging the interest in a new feature. They allow your organization to mitigate risks and create a faster feedback loop between developers and end-users. For example, if a new product feature gets a good response from your customers, that's a good indication that it will also get a good reception from the general public.
With feature flags, DevOps teams can control the lifecycle of any project, from start to finish. You can easily turn off or on different features, with the ability to release them when you're ready.
Dark launching enables DevOps teams to run more tests of new versions of software applications without feeling the pressure. In addition, teams can test front-end and back-end features in production. This way, when a winning variation has been found, it gets released to the public.
When upgrading your tech stack, you can use feature flags to perform a "dark launch" for infrastructure migrations. These are rules that allow you to route a percentage of web requests or specific types of requests to the new system while routing the rest of the requests to the legacy system. If the new database works as well at this early stage as expected, you can gradually write more data to it as you go.
In addition, staging environments can be expensive and labor-intensive to maintain. However, with the advent of feature flags, developers are able to hide new features from customers. A dark launch allows you to test in production before releasing publicly, thereby reducing risk for your company. You don't need to spend your time setting up a fake staging environment to see how something will perform in the real world. Instead, you can use controlled testing, an innovative way of understanding how a feature performs in production.
A dark launch is a technique that combines the use of a beta test, which some experts say is the best way to avoid hitting "false positives" that happen when you don't test with real users. A beta tester has access to new features without their friends seeing them on social media. A dark launch is an innovative tool that allows developers to control how new features are deployed. Users are in charge of enabling these features and testing them out.
Perfecting Implementation
This new trend of leveraging dark launches can provide valuable feedback, even if it’s not what you’re looking for. Dark launches of features are a valuable way to gauge interest in a product or more importantly, get data on how users interact with your site. If the feature doesn’t catch on, users submit negative feedback, or errors start cropping up, the feature can be disabled with one click (without having to restart your application) while the feature undergoes further refinement.
A great way to perfect your product before releasing it to all your users is through a canary release. Also known as canary deployments, they are a powerful way to test new software features. Traditionally, canary tests require multiple production environments and complex routing configurations. Now with dark launches and feature flags, canary deployments are a lot less complicated. Recently, companies have been using feature flags to test new features while keeping the original application untouched.
Teams can use feature flags to run A/B tests on a carefully-defined subset of users in a production environment. As opposed to testing features with all of your users, you can mitigate the risks and gather more data by A/B testing with a small sample of your customer base. This will be done in real-world production environments.
Managing and Maneuvering the Risks
In the past, it's been common for software teams to put weeks of progress down the drain if something goes wrong. But with the release of new technology, it's easy to mitigate this risk.
For a more agile customer experience, a dark launch is an industry-wide best practice. It allows companies to bundle smaller changes and releases them without disrupting their customers. More importantly, it is a more safe approach to releasing features.
You can try a higher risk approach or you can do things more cautiously. If you want to test new features on fewer people, the safest thing to do is dark launching. Just switch the feature toggle to “on” and assess the situation one step at a time. The only way to know if something will work is through experimentation with real users. Dark launching enables an iterative, continuous approach that is similar to modern software development.
When it comes to your company's reputation, it's better to be safe than sorry. An easy way to do this is by adding a dark launch. This means you can mitigate risks and have an easier time gathering feedback on any new features. Having a faster feedback loop will make it more likely that customers will like your product, which is why it gives you an advantage over your competition.
Why put all of your eggs in one basket? All-or-nothing launches make software teams fragile. Building up a supply of dark launches for when you need them is the best way to ensure that your risk profile will always be as flat as possible.
Weighing Your Options: Is This The Right Choice For You
Dark launches are right for teams of all sizes. They improve engineering efficiency and lead to saving money in the long run. The main decision for most teams looking at implementing dark launches into their software development process is if they should build or buy.
When teams decide if they should buy or build a dark launch system there are several things to consider. Software teams are often driven to use homegrown feature flag systems because these systems are often less expensive than enterprise solutions. However, this often leads to significant amounts of technical debt. It becomes harder to smoothly and safely release new features because unused flags clutter up codebases. As a business grows, it can become hard to support the added scale and complexity with an in-house system.
If you decide not to use feature flags, you'll need to find another solution for pushing updates to a limited number of users. One option is to push the update out to this set of users through an alternative update process. However, the more features you have, the more complex your product becomes. This can quickly become messy. Feature flags are a simple solution because they let you switch on or off features by flipping a simple boolean switch.
Lastly, it's important to manage your feature flags properly so that you don't get a mess of them that could disable portions of other functions. Try to keep your code clean and don't let technical debt pile up. A helpful tool for this is a feature management platform.
How Feature Flags Enable Dark Launches
The easiest way to dark launch is with feature flags. These are little bits of code that decouple code deployments from the actual release. Once a feature is pushed to production, developers can make it available to a small group of users, then scale up as needed.
Feature flags allow you to develop new features without fear of releasing unwanted functions or ones containing bugs. With this more safe system, you can quickly develop new features without the risk of hurting your brand or making your customers unhappy.
Discover the Difference with DevCycle
DevCycle makes it easy to manage features. With DevCycle, software teams of all sizes can deploy enterprise-grade architecture, delivering speed and reliability at scale for complex use cases. Feature flags are one of the best ways to deliver software to your customers.
Start leveraging dark launches with a 14-day free trial of DevCycle.
Written By
Ann McArthur