Often, in software development, it isn't clear which implementation of a feature will be most successful in the real world. An entire computer science discipline—Human/Computer Interaction (HCI)—is devoted to answering this question. While UI experts have several guidelines to help them design suitable interfaces, often, the best choice of design can only be determined by giving it to users and seeing whether they can use the design to complete a given task.
As shown in the following diagram, A/B testing is a testing methodology in which two or more different versions of features are given to different sets of users. Detailed metrics on the usage of each implementation are gathered, and UI engineers examine this data to determine which implementation should be adopted going forward:
It's easy to launch several different versions of your application, each containing different implementations of a new...