blog post banner image

Beta Flag Best Practices

Ann McArthur


Beta Flags: Best Tips and Advice

As competition increases, brands need to take care to ensure they are releasing the best products possible. One way to do this is beta testing. When done correctly, beta testing provides customers with a real environment to share their thoughts and opinions about the product before it's released for everyone.

Beta testing is crucial to software development, especially when it comes to the design stage. Developers are often too close to their products and need fresh eyes to help them out. A beta version of a product is one that has gone through internal testing and looks like the final product, but there are usually changes made as a result.

Begin with Your Users

Beta programs are a great way to get customer feedback on a new feature before it goes live. One way to do this is by explicitly including the people you want to try a new feature. Just as you would line up for a new movie, people really want to see your new functionality. It doesn't matter if it's a person, organization, or even country. Rolling out to Canada before the United States, for example, is a common best practice.

 Feature flags are a fantastic tool that can be put into the hands of non-technical users. Feature flags can reduce a major bottleneck in feature control. This can also have a huge effect on the Product-Engineering relationship, leading to more unified rollout thinking.

Decide Between a Closed or Open Beta Release

The Closed Beta stage follows any Alpha testing. It may be split into multiple short-focus sessions, or held in one longer session. The length of this stage is flexible, depending on the developer’s needs.  A closed beta is the testing phase before the release. It is meant to be “closed” from the public, meaning testers must be approved to join. The amount of testers allowed is limited, but it is raised for user experience and server stability.

The “Open Beta” stage is a crucial period in which a new feature has completed most of its significant testing and development. Open betas are a fast and inexpensive way for developers to gather feedback from their customers. They also have the added benefit of spreading word of a new feature to friends.

With an open beta, feature flags can be released through a gradual release, also known as a canary rollout. This is when the new feature is shown to only a small percentage of users. Once it performs as expected, the team can gather feedback from users and continue rolling it out to more and more users until it reaches 100% of the user base. The development team can also roll back the feature if anything goes wrong or roll it back to make changes based on user feedback.

Avoid Having Multiple Features in One Beta at a Time

In order to know the true impact of a feature try only having one feature in beta at a time. While you can have multiple small feature flags running in a larger feature flag for functionality, it’s important to test one major feature at a time. This way if anything goes wrong it’s easier to track down the issue. It also allows you to get more specific feedback from users on one feature rather than multiple at once. This also allows your team to focus its efforts on the beta test.

Set a Time Limit

A good rule of thumb is to remove a flag once it’s served its purpose. For example, an always-on or off feature must have the flag removed once the rollout is complete. It may be appropriate to keep a flag for hypothesis-driven development if it remains after the rollout is complete.

To keep your code running smoothly, you need to know when to remove flags. Flags can be managed in different statuses and teams can track their progress. For example, if a flag is not being used for over seven days, it could be displayed with a status that lets you know it's safe to remove it from your code.

Set Requirements and Criteria

Beta testing has a wide variety of objectives, but how do you choose which ones to focus on during the test? The beauty of beta testing is that it can achieve many different goals. This is both its advantage and its drawback - you'll have to figure out which objectives are most important to your company. When running a beta test you should know what you want to get out of it. Set expectations for how it will perform so you can know when it’s successful ahead of time.

Beta testing can be very different from one company to the next. Whether you're trying to improve the quality of your product or increase user engagement, it's important to set clear objectives in your planning stage. Establishing a goal during the planning phase will make sure your test meets your needs in addition to the needs of stakeholders.

Successful beta testing means identifying and achieving the goals that are most important to the company. These goals are called primary objectives, and they will drive all other planning for the beta-test. These objectives will be the reasons for conducting the test, and data collected will be based on achieving them. 

Secondary objectives can be thought of as "nice to haves." They're not required, but they will likely be referenced in surveys and tasks.  When deciding on your beta test goals, you need to make sure they are realistic. Consider the state of your product. Depending on how stable your beta product is, you may need to experiment with different objectives.  If your product is nearly launch-ready, you can branch out to other goals such as testing the out-of-the-box experience and documentation to ensure a smoother experience. Bugs won't be as time-consuming for these other goals, so you have the opportunity to get a head start over the competition.

As you decide the length of your beta test, focus on one primary objective per week. You'll want to choose a time period that will be long enough to make your changes, but not so long that your testers lose interest. If you plan on having your beta test for four weeks, focus on four primary objectives.

In order to get the best feedback, it's important to understand the amount of time and resources you have available. If you have the bandwidth and access to a larger pool of beta testers, you can divide up their focus and have them work on different goals. But if your team is small, it's best to have them all focus on the same goal.

In order to conduct a successful beta test, it's important to understand the dynamic relationships between goals, testers, and test length. For example, if you decide to add new objectives halfway through your beta test, understanding these dynamics will help you decide whether to extend your current test or recruit more testers to handle the change.

Provide Support for Your Releases

When running a beta test make sure you have the right support in place. Make sure you have the proper QA before it’s released to testers while ensuring that if anything goes wrong you can roll it back. Using feature flags makes beta testing easy. With feature flags, you can determine who gets access to your beta version and turn the flag on for them while it remains off for the rest of your users. In addition, feature flags let you roll back a feature if it doesn't perform as expected or if you have any bugs. Alternatively, if you get feedback from users that you want to implement you can turn off the feature, make the update then turn it back on to see how the update performs.

Beta Flag Testing with DevCycle

Beta testing has never been easier to do than with the help of feature flags. They allow you to control who has access at each stage of your test all within a dashboard. Simply toggle a flag on or off for beta users. As it performs well and has passed the beta testing phase, use a canary rollout to gradually deliver it to the rest of your user base while minimizing risk.

Start using feature flags to run beta tests with a 14-day free trial of DevCycle.

Written By

Ann McArthur