Variant Experiment Server runs on the your network, local to your application and to the operational data. All components of your application — client, server, or anything in between — can participate in an experiment by communicating with Variant Experiment Server via a light-weight client library. There’s also the server-side Extension API, which provides core feature extensibility. Variant server also acts as a distributed session manager, enabling Variant’s critical features in a modern distributed environment.
Release new features with confidence and as soon as they are available. Leverage Variant’s powerful instrumentation capabilities to implement feature toggles quickly, inexpensively and in a reusable fashion. Deploy new features continually and completely automatically. Turn features on and off without affecting live users. Use Variant’s powerful events mechanism to trace the new product features.
Direct Integration with Operational Data
Use host application’s operational data for real time qualification and targeting of your user traffic. Leverage your established technology stack to access operational data securely and with very low network latency. No more operational overhead and data pollution associated with running experiments against extracts. No more server-to-server calls across the Internet in your application path.
Scale to 1000s of Experiments
Scale your experimentation to thousands of experiments a year. Fully programmable interface and low per-experiment instrumentation effort mean that you are not constrained by operational bottlenecks. Variant’s advanced support for concurrent experiments means that no feature has to go untested, stuck behind another experiment. Deploy all new features continuously, as soon as they are finished.
Developers love Variant because Variant was created with developers in mind. There are no clunky Web consoles to click through in order to create an experiment. Every phase of a Variant experiment life cycle is programmable and therefore fits right with the established development ops. Variant server is highly extendible via a fully-featured server side API, which provides a powerful framework for enrichment of the default semantics with custom behavior.
Product owners no longer have to listen to the highest paid voice in the room. Rather, they have the power to validate and refine every new product feature through controlled experiments. When a company adopts the culture of pervasive testing, all new product features are subject to experimental validation. Product owners have the opportunity to revise feature specs in vivo, as the feature goes through successive rounds of refinement and retesting. Occasionally, when they don’t perform as initially expected, new features will have to be abandoned, saving you the embarrassment of a feature recall.
Managing product release cycle continues to be a hard inter-disciplinary topic, touching all phases of the life cycle: product, development, QA and operations. Mitigating the risks associated with this complexity is paramount to the success for a software enterprise. Feature toggles open new possibilities in risk-free, continuous product deployment. Operations can manage feature toggles in order to enable new features in an already deployed application; control, with great specificity, user audience; or turn a feature off temporarily, should a defect be discovered.
Developers love Variant because it’s built by developers and for developers. Instrumenting an experiment involves no clunky GUI to click through. Rather, experiment metadata lives in a human readable schema files, which are treated as any other source code. Variant lets you instrument actual application code, so that if and when the new code path wins, no re-implementation is required. A single Variant server can support multiple application domains via experiment schemata. Even if you only have a single application, you will find the ability to deploy separate schemata for every QA build on every code branch very attractive.
The earliest applications of online controlled experiments are in e-commerce, where people have been experimenting with anything from the color of the BUY button to suggestions algorithms, to third party integrations. While these use cases continue to be relevant to the experimentation agenda, new applications of online commerce have generated new use cases for experimentation: online booking, consumer-to-consumer marketplaces, online lending, etc.
Interactive Voice Response
Variant architecture makes no assumptions about the host application, except that it is interactive. While Web and mobile apps are ubiquitous examples of such applications, there are many others, and most can benefit from experimentation, like Interactive Voice Response (IVR). Whenever you contemplate a change to your inbound phone menu, Variant can help you instrument that change as a controlled experiment. Furthermore, many enterprises maintain support call centers and must keep the phone and the online user experiences in sync. With Variant, you can easily experiment over a feature that spans both online and voice experiences and keep them tightly integrated.
Application User Interfaces (APIs)
APIs can be viewed as most basic interactive applications, featuring a single request/response cycle. While most APIs are of the imperative nature (they simply carry out a well defined, immutable task, like process a credit card payment), some APIs are interrogative, like a personalized product suggestion. Such APIs typically package complex algorithms that are subject to extensive tuning and constant improvement. Interrogative APIs benefit greatly from ongoing controlled experiments, which Variant makes a breeze to instrument.