A/A Testing
A/B testing is the process of split testing two different variations of a web page or feature by serving different versions of the feature to …
Your guide to progressive delivery and experimentation concepts in software development.
A/B testing is the process of split testing two different variations of a web page or feature by serving different versions of the feature to …
A/B testing, otherwise known as split testing, is the process of testing two different versions of a web page or product feature in order to …
A/B/n testing is the process of A/B testing with more than two different versions. The little “n” doesn’t refer to a third test, but to …
Blue/green deployment is a continuous deployment process that reduces downtime and risk by having two identical production environments, called blue and green. (The names blue …
A canary deployment, or canary release, is a deployment pattern that allows you to roll out new code/features to a subset of users as an …
A change advisory board (or CAB) is a collective of representatives from different departments within the company who run that company’s formal change management processes. …
In any complex system, failure is inevitable. Chaos engineering, or chaos testing, embraces this reality, allowing you to introduce failures in a controlled way.
CI/CD is the acronym in software development for the combination of continuous integration (CI) and continuous delivery (CD). It can also be expanded to include …
Client-side testing refers to any type of testing – commonly A/B testing, but also multivariate testing or multi-armed-bandit testing – that occurs in the user’s …
More and more companies are beginning to understand that using a staging environment to test features causes more harm than good. Because this process separates …
Continuous delivery is a software delivery process centered around improving the speed with which development teams release new features to end-users.
Continuous delivery is the process of systematically keeping code deploy-ready at all times. This shift in release process requires several changes in the operations of …
Software development has changed a lot in the last few years. Now, instead of monolithic software delivery and long-lived feature branches, new software features can …
Continuous integration is the practice of merging the code of all developers on a project and testing for conflicts continuously, as changes are made.
A controlled rollout is a feature rollout with highly granular user targeting. It allows you to release new features gradually, ensuring a good user experience …
Customer experience (abbreviated CX) is the experience your customers have with your brand. Customer experience metrics are organizational KPIs that help you monitor your customer …
Dark launching is the term for releasing features to a subset of your users, seeing how they respond, and making updates to your features accordingly. …
Data pipelines automate the flow of data from one point to another. In a data pipeline, you start with defining how data is collected, and …
Do no harm metrics are metrics that teams use to ensure nothing bad is happening to your teams metrics due to a feature rollout. Many …
False positive rate (FPR) is a measure of accuracy for a test: be it a medical diagnostic test, a machine learning model, or something else. …
Ordinary software development is widespread with guesswork. Some amount of data, plus some amount of the product manager’s hunches, drives the decisions of what new …
Feature flag management is the process of, well, managing feature flags. While feature flags are extremely useful for many purposes, they require an organized process …
A feature flag, or feature toggle, is a software development tool used to safely activate or deactivate features for testing in production, gradual release, experimentation, and operations.
The feature flags framework is a revolutionary method of software development that allows individual features of a software product to be individually enabled or disabled. Feature flags allow features to be centrally managed from outside of the application, meaning they can even be turned on and off after they’ve already been rolled out to end users.
DevOps is a software development philosophy that combines the Agile development approach focusing on rapid delivery with a collaborative effort between the development and operations staff. This collaboration is key to creating a more efficient and adaptive product lifecycle, and formalizes the increased role that operations teams play in the service-focused landscape of today.
A feature rollout plan is a process that allows the introduction of a set of new features to a group of your user base. A …
Feature toggles, also known as feature flags, are components of software development that allow specific features of an application to be activated or deactivated at will. This allows developers to safely “toggle” new features on or off for testing. Feature toggles have many uses beyond just testing, such as the targeted release of new features, experimentation, operations, or activation of premium features.
If a software engineer wakes up in the morning, and hears something that sounds like rain outside her window, she thinks it might be raining. …
One of the biggest challenges that software development teams encounter when adopting feature flags is feature management, or how best to track new features across …
In software development, a kill switch is a button that disables a feature if needed. This enables stakeholders to turn off broken features in production …
A/B testing in general is the process of testing two variations of a resource by showing different versions to different users, then comparing the test …
In general, a multi-armed bandit problem is any problem where a limited set of resources need to be allocated between multiple options, where the benefits …
Multivariate Testing is a method of experimenting with different variations of particular elements in a feature implementation, such as the headline, images, copy, etc in …
Observability is defined as the ability of the internal states of a system to be determined by its external outputs. With the unknown unknowns of …
Progressive delivery is the logical next step for teams who have already implemented agile development, scrums, a CI/CD pipeline, and DevOps. It includes many modern …
Server-side testing refers to any type of testing – commonly A/B testing, but also multivariate testing or multi-armed bandit testing – that occurs on the …
Simpson’s Paradox, otherwise known as the Yule-Simpson Effect, is a reversal paradox where the correlation found in each of several groups either disappears or even …
Smoke tests are a type of regression test which ensure that your most important, critical functional flows work. These tests should not encompass your entire …
When people discuss A/B testing, they commonly throw around the term “statistical significance” a lot. But what does this mean? In short, getting a statistically …
Testing in production is the process of testing your features in the environment that your features will live in. It does not mean releasing untested …
Trunk-based development (TBD) is a branching model for software development where developers merge every new feature, bug fix, or other code change to one central …
A type I error (or type 1 error), also called a false positive, is a type of statistical error where the test wrongly gives a …
A type II error (type 2 error) is one of two types of statistical errors that can result from a hypothesis test (the other being …
A key part of the software development process, usability testing provides invaluable feedback on the user experience of a product. Usability testing means conducting real-world …