InfoQ Homepage Experiment Driven Development Content on InfoQ
News
RSS Feed-
Fostering an Experimentation Culture in Software Development
An experimental culture is a way of thinking; it is about trying new things and learning together, solving complex software problems, and creating value together. According to Terhi Aho, an experimental culture in software organizations requires strong management support and psychological safety.
-
Instacart Creates Real-Time Item Availability Architecture with ML and Event Processing
Instacart combined machine learning with event-based processing to create an architecture that provides customers with an indication of item availability in near real-time. The new solution helped to improve user satisfaction and retention by reducing order cancellations due to out-of-stock items. The team also created a multi-model experimentation framework to help enhance model quality.
-
How Spotify Carries through Experiments at Scale for Spotify Home
Spotify runs more than 250 online experiments annually on its Spotify Home platform, which are used by dozen of different teams. To accomplish running experiments at such scale, Spotify uses a number of different tools, explains Spotify product manager Nik Goyle.
-
The Future is Knowable before it Happens: an Impossible Thing for Developers
In software development there are always things that we don’t know. We can take time to explore knowable unknowns, to learn them and get up to speed with them. To deal with unknowable unknowns, a solution is to be more experimental and hypothesis-driven in our development. Kevlin Henney gave a keynote about Six Impossible Things at QCon London 2022 and at QCon Plus May 10-20, 2022.
-
How Lyft Is Improving Their Experiments beyond A/B Testing
Lyft’s product manager John Kirn recently published an article about the challenges they face when conducting experiments. Existing experimentation techniques did not fully adapt to Lyft’s real-time business nature or mitigate network effects. Lyft’s Experimentation team deployed new ones, such as time and region split testing, and improved internal experimentation norms and techniques.
-
Airbnb: Using Guardrails to Identify Changes with Negative Impact across Teams
Airbnb rolled out an internal Experiment Guardrails system to identify potentially negative impacts of changes across different teams. Whenever a proposed change does not pass any of the guardrails, it is escalated for further analysis by affected teams and stakeholders, explains Airbnb data scientist Tatiana Xifara.
-
Large Scale Experimentation at Spotify
When you want to scale the number of A/B tests to do many experiments at the same time, you need to adopt your processes and platform, and it might also impact your culture. Doing product research with controlled experiments helps to confront your ideas about how customers will use your product in reality, and check if those ideas actually impact user behaviour.
-
Spotify Wants To Be Good at Failing
Spotify wants to be really good at getting it wrong quickly and optimized for experimentation, said Marcus Frödin, director of engineering at Spotify. At Spark the Change London 2016 he presented a concept to learn from mistakes and breed success and gave examples of failures at Spotify and how they learned from them.
-
How Can You Learn Early and Fast?
Agile suggest that teams should fail-fast to enable quick learning from mistakes. Learning from failure is one approach, you can also learn early and fast from successes, by doing experimentation, or by using a plan for knowledge acquisition.
-
Android Stats and Tricks from OpenSignal
One blog of note that is furthering the efforts of today’s mobile application developers can be found at the OpenSignal web site. Their recent Android Fragmentation Visualized report offers some unique perspectives on the challenges of writing Android apps.
-
Experiment Driven Development - The Post-Agile Way
TDD and BDD are now widely-used software development techniques. However, solely following TDD & BDD may still lead to missed business opportunities, or worse, a negative impact to the business. Two questions which TDD & BDD are unable to answer are: How do you measure the usage of your application? How do you get feedback from your customers? Is Experiment-Driven Development (EDD) the answer?