Within this article, you will learn about the best new features that have been added to Optimizely Feature Experimentation (FX) between 2023 and 2022. Optimizely feature experimentation, formally named Optimizsely Faullstack, is a feature flagging and server-side experimentation tool. The feature flagging aspect of the tool will provide any development team with a more robust release process, while the experimentation capability will allow the product team to make sure they have deployed the best possible version of that feature.
Recently, there has been a number of new features that have been added to Optimizely FX and in this article, we will review them. If you are interested in feature flagging, or you use this product and want to see what you might be missing out on, or, you consider purchasing Feature experimentation, read on as this is the article for you 🔥🔥🔥
Single code implementation
The first change that I want to highlight is probably the most impactful for developers that use FX, however, within the UI itself it's pretty easy to overlook its importance. Optimizely FX used to be called Optimizely Fullstack. Fullstack made use of the v1 UI. To create either a feature flag or an experiment using the older UI, you would have seen a screen that looked like this:
The big thing to notice within this UI is that there are two tabs, one for creating feature flags and one for creating experimentation. The issue with this original design is that you often have to write one bit of code to do feature flags and another bit of code to do experimentation.
The downside to this approach for developers was decreased productivity and increased code bloat. In software engineering, a general rule of thumb is that the more code you write, the more code you need to maintain. The end result of having more code to deal with is that over time developers spend less time writing new features and more time maintaining the existing code base. Not ideal!
As of late 2022, there is no differentiation at a code level between flags and experiments. If you look at the new updated UI, you will see a single
Flags tab. This means that developers only need to write one bit of code to do feature flags and experimentation.
To deal with this new architecture, Optimizely had to spend over a year rewriting every single one of their 19 SDKs to work with this new data format.
Combining flags and experiments allowed Optimiszely to then start releasing new innovations. One example of this is the multi-flag feature. With the new architecture, you define a flag and implement the corresponding code within your codebase. After doing this, within the UI, a non-technical person now has the ability to associate different rules with that flag. Currently, you can pick from three different types of rules, which are:
- Targeted Delivery
- Experiment (A/B test)
- Multi-armed Bandit optimization
The benefit of this new capability is the ability to run multiple tests and rules concurrently. Want to launch a new feature and run an A/B test on your beta users and turn it off for the rest of the world? No problem. Want to run a test on your website and run a different test on mobile at the same time? You got it. Share a single codebase between different brands and want to run different tests at the same time on the different brands. Sure. Want to run multiple tests on different locations, or different personalization groups at the same time? Yep!
In terms of experimentation, the maths is simple. The more tests you can run the better the ROI you will find. This feature will allow you to run more tests in parallel, thus increasing the chances of you maximizing ROI
This next new feature is something that I think has been missing from PX for a while, scheduling! Previously, you had to log into the Optimizely UI to turn a feature on. In the new world, you can now schedule when features and experiments turn on or off. In terms of scheduling, you can set a time and date, you pick which environment you want to release to, and finally, you can define if the feature is enabled or disabled.
Having this new feature in your back pocket means no more getting out of bed at 6 am to run your next big sales or marketing campaign. Schedule it using the scheduler and enjoy the extra sleep!
The next new feature is another productivity hack. A big part of running an experiment is understanding the data on how it performs. In order for someone to check the state of an experiment, they would have to log into the UI to check if the experiment had hit statistical significance. If you are running a hundred tests at the same time, this task could be very time-consuming!
You now no longer need to log into the report dashboard every day to check on statistical progress if you don't want to. Instead, you can now enable notifications on your project. Once enabled, you will get an email when an experiment hits statistical significance.
3rd Party/External Personalization Segments
The last big change I want to highlight is around targeting. Within the Feature experiment editors could define personal situation groups/segments within Audience Builder. Previously, it was only possible to create segments using data passed into the tool by a developer, this has now been upgraded. It is now possible to import segments from external tools to be used within FX. These external locations could be a CDP, it could be a CRM or even a CMS.
If you just want to stay within Optimizely World, you can use Optimizelys CDP called Optimizing Data Platform. If you already have a CDP then Optimizely also has has integrations for a number of leading CDPs including mPartial, Zeotap, Segment, Tealium, Google, etc...
Happy Coding 🤘