SlideShare a Scribd company logo
1 of 52
Download to read offline
Buildingan A/BTesting Framework
thatWorks for Developers
Jenny Chang Ho
Senior iOS Engineer @ GRUBHUB
Twitter: @TipTopGS
Aboutme
Software Engineer @ Google
Consultant @ IBM
Tech Lead @ Royal Bank of
Canada
Senior iOS Engineer @ GRUBHUB
2
A/Btesting
3
A/B testing is
testingahypothesis
A/B testing is
feature flagging(flows and design variations)
@TipTopGS 5
A/B testing is
controlling rollouts of features
@TipTopGS 6
A/B testing is
innovatingwhile minimizing risks
@TipTopGS
A/Btesting is messy
@TipTopGS <<Photo by Ricardo Viana on Unsplash>>
Dead code
@TipTopGS <<Photo by Mathew MacQuarrie on Unsplash>>
Increased in
developmentefforts
@TipTopGS <<Photo by #WOCinTech Chat>>
Increasedtesting
scope
@TipTopGS 11
A/Btesting is notfor everyone
@TipTopGS <<Photo by Charles Deluvio
! "
on Unsplash>> 12
Who drives experimentation?
@TipTopGS <<Photo by rawpixel on Unsplash>> 13
A/BTesting
» Feature flagging
» Innovation
» Increase development/testing scope
» Not for everyone
@TipTopGS 14
A/B Experiments Examples
@TipTopGS 15
Coach bubbles
First losing experiment
@TipTopGS 16
@TipTopGS 17
Hackathon Experiments
@TipTopGS 18
Schedule order entrypoint
@TipTopGS 19
Haptic feedbacks
@TipTopGS 20
Flow example:
Defaulttabs onapplaunches
@TipTopGS 21
@TipTopGS 22
Multiple iterations examples:
GrubHub reviewswith menu items
@TipTopGS 23
@TipTopGS. GrubHub reviews with menu items 24
RestaurantPromotions
@TipTopGS 25
@TipTopGS. Restaurant promotions 26
Testing restaurant promotions carousel
enableRTPCarouselVariant enableRTPCarouselWithCuisines App behavior
OFF OFF Standard RTP carousel
is shown
ON OFF Carousel variant is
shown (without cuisine)
OFF ON Carousel variant is
shown (with cuisine)
ON ON Carousel variant is
shown (without cuisine)
ON or OFF does not exist in feed App listen to
enableRTPCarouselVarian
t toggle
@TipTopGS 27
Experimentsthattakealongtime
@TipTopGS 28
Navigation(drawer vs tabs)
@TipTopGS 29
@TipTopGS 30
Redesign or style changes
@TipTopGS 31
@TipTopGS 32
A/B Experiments
» Winning is not guaranteed
» User observations
» Iterations
» Time
@TipTopGS 33
Keys forA/B testing success
» Objectives must be defined
» Thinking about problems from your user's
perspective
» Learning from results
@TipTopGS 34
“Failearly, failoften,
butalways fail
forward.”
John C. Maxwell
@TipTopGS 35
Howto beagood loser?
Deleting feature work hurts
@TipTopGS <<Photo by Matthew Henry on Unsplash>> 36
Lessons learned
@TipTopGS 37
Lesson #1
Understandwhatcould
gowrongand
question
assumptions
@TipTopGS 38
Lesson #2
Evaluatethetools:
A/BTesting
Framework Setupand
Customizations
@TipTopGS 39
Lesson #3
Should everyfeature
have afeature flag?
Why not a kill switch?
@TipTopGS 40
Lesson #4
Create Debug
Settings
Local and remote toggles
@TipTopGS 41
42
Lesson #5
Automatetests!Experiments can take a long time.
@TipTopGS 43
Don'tforgetto...
Unittestyour default
feature flagvalues
@TipTopGS 44
Lesson #6
Write code easierto
make permanent
or delete
@TipTopGS 45
Lesson #7
Setupaclean upprocess
» Product Manager
» Variables Used
» Start/Ended Dates
» Release App Store Version
» Winning Variant
@TipTopGS <<Photo by Perry Grone on Unsplash>> 46
Lesson #8
Usethe results from
the other platform!!!
@TipTopGS 47
What's in it for productfolks?
@TipTopGS 48
49
TakeAways
» Check the assumptions of the experiments
» Set up clean up process
» Decide feature flag vs kill switch
» Automate tests
50
JennyChang Ho
jchangho@grubhub.com
Twitter: @tiptopgs
https://medium.com/@Tiptopgs
51
Questions &Answers
52

More Related Content

Similar to Building an A/B Testing Framework that Works for Developers

Mat Clayton, Co-founder & CTO, Mixcloud - Using technology decisions to move...
 Mat Clayton, Co-founder & CTO, Mixcloud - Using technology decisions to move... Mat Clayton, Co-founder & CTO, Mixcloud - Using technology decisions to move...
Mat Clayton, Co-founder & CTO, Mixcloud - Using technology decisions to move...How to Web
 
Retrospectives er spild af tid!
Retrospectives er spild af tid!Retrospectives er spild af tid!
Retrospectives er spild af tid!BestBrains
 
Continuous Delivery Sounds Great but it Won't Work Here
Continuous Delivery Sounds Great but it Won't Work HereContinuous Delivery Sounds Great but it Won't Work Here
Continuous Delivery Sounds Great but it Won't Work HereJez Humble
 
Continuous Intelligence Workshop
Continuous Intelligence WorkshopContinuous Intelligence Workshop
Continuous Intelligence WorkshopDavid Tan
 
Remote, unmoderated usability and user testing.
Remote, unmoderated usability and user testing.Remote, unmoderated usability and user testing.
Remote, unmoderated usability and user testing.Marc-Oliver Gern
 
7 Practical Tips on Lean Analytics
7 Practical Tips on Lean Analytics7 Practical Tips on Lean Analytics
7 Practical Tips on Lean AnalyticsJanne Aukia
 
Work with Developers for Fun and Progress - AppSec California
Work with Developers for Fun and Progress - AppSec CaliforniaWork with Developers for Fun and Progress - AppSec California
Work with Developers for Fun and Progress - AppSec Californialeifdreizler
 
Pretotyping: Crash Test Your Idea - ITESCIA 2015-2016 (English Version)
Pretotyping: Crash Test Your Idea - ITESCIA 2015-2016 (English Version)Pretotyping: Crash Test Your Idea - ITESCIA 2015-2016 (English Version)
Pretotyping: Crash Test Your Idea - ITESCIA 2015-2016 (English Version)André De Sousa
 
Kill Your Darlings: Solving Design by Throwing Away Your Prototypes
Kill Your Darlings: Solving Design by Throwing Away Your PrototypesKill Your Darlings: Solving Design by Throwing Away Your Prototypes
Kill Your Darlings: Solving Design by Throwing Away Your Prototypesjsokohl
 
Controlled Experimentation aka A/B Testing for PMs by Tinder Sr PM
Controlled Experimentation aka A/B Testing for PMs by Tinder Sr PMControlled Experimentation aka A/B Testing for PMs by Tinder Sr PM
Controlled Experimentation aka A/B Testing for PMs by Tinder Sr PMProduct School
 
Improving How We Deliver Machine Learning Models (XCONF 2019)
Improving How We Deliver Machine Learning Models (XCONF 2019)Improving How We Deliver Machine Learning Models (XCONF 2019)
Improving How We Deliver Machine Learning Models (XCONF 2019)David Tan
 
Rapid video prototyping for connected products
Rapid video prototyping for connected productsRapid video prototyping for connected products
Rapid video prototyping for connected productsMartin Charlier
 
How to Product Manage Yourself by CNET Sr Product Manager
How to Product Manage Yourself by CNET Sr Product ManagerHow to Product Manage Yourself by CNET Sr Product Manager
How to Product Manage Yourself by CNET Sr Product ManagerProduct School
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
Rapid Iterative Prototyping & UserTesting
Rapid Iterative Prototyping & UserTestingRapid Iterative Prototyping & UserTesting
Rapid Iterative Prototyping & UserTestingMarieke McCloskey
 
What does it mean to be a test engineer?
What does it mean to be a test engineer?What does it mean to be a test engineer?
What does it mean to be a test engineer?Andrii Dzynia
 
#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...
#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...
#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...Agile Testing Alliance
 
Model Monitoring at Scale with Apache Spark and Verta
Model Monitoring at Scale with Apache Spark and VertaModel Monitoring at Scale with Apache Spark and Verta
Model Monitoring at Scale with Apache Spark and VertaDatabricks
 
Better Functional Design through TDD
Better Functional Design through TDDBetter Functional Design through TDD
Better Functional Design through TDDPhil Calçado
 
Managing software projects with Team Foundation Server 2013 in Agile Scrum
Managing software projects with Team Foundation Server 2013 in Agile ScrumManaging software projects with Team Foundation Server 2013 in Agile Scrum
Managing software projects with Team Foundation Server 2013 in Agile ScrumHossein Sarshar
 

Similar to Building an A/B Testing Framework that Works for Developers (20)

Mat Clayton, Co-founder & CTO, Mixcloud - Using technology decisions to move...
 Mat Clayton, Co-founder & CTO, Mixcloud - Using technology decisions to move... Mat Clayton, Co-founder & CTO, Mixcloud - Using technology decisions to move...
Mat Clayton, Co-founder & CTO, Mixcloud - Using technology decisions to move...
 
Retrospectives er spild af tid!
Retrospectives er spild af tid!Retrospectives er spild af tid!
Retrospectives er spild af tid!
 
Continuous Delivery Sounds Great but it Won't Work Here
Continuous Delivery Sounds Great but it Won't Work HereContinuous Delivery Sounds Great but it Won't Work Here
Continuous Delivery Sounds Great but it Won't Work Here
 
Continuous Intelligence Workshop
Continuous Intelligence WorkshopContinuous Intelligence Workshop
Continuous Intelligence Workshop
 
Remote, unmoderated usability and user testing.
Remote, unmoderated usability and user testing.Remote, unmoderated usability and user testing.
Remote, unmoderated usability and user testing.
 
7 Practical Tips on Lean Analytics
7 Practical Tips on Lean Analytics7 Practical Tips on Lean Analytics
7 Practical Tips on Lean Analytics
 
Work with Developers for Fun and Progress - AppSec California
Work with Developers for Fun and Progress - AppSec CaliforniaWork with Developers for Fun and Progress - AppSec California
Work with Developers for Fun and Progress - AppSec California
 
Pretotyping: Crash Test Your Idea - ITESCIA 2015-2016 (English Version)
Pretotyping: Crash Test Your Idea - ITESCIA 2015-2016 (English Version)Pretotyping: Crash Test Your Idea - ITESCIA 2015-2016 (English Version)
Pretotyping: Crash Test Your Idea - ITESCIA 2015-2016 (English Version)
 
Kill Your Darlings: Solving Design by Throwing Away Your Prototypes
Kill Your Darlings: Solving Design by Throwing Away Your PrototypesKill Your Darlings: Solving Design by Throwing Away Your Prototypes
Kill Your Darlings: Solving Design by Throwing Away Your Prototypes
 
Controlled Experimentation aka A/B Testing for PMs by Tinder Sr PM
Controlled Experimentation aka A/B Testing for PMs by Tinder Sr PMControlled Experimentation aka A/B Testing for PMs by Tinder Sr PM
Controlled Experimentation aka A/B Testing for PMs by Tinder Sr PM
 
Improving How We Deliver Machine Learning Models (XCONF 2019)
Improving How We Deliver Machine Learning Models (XCONF 2019)Improving How We Deliver Machine Learning Models (XCONF 2019)
Improving How We Deliver Machine Learning Models (XCONF 2019)
 
Rapid video prototyping for connected products
Rapid video prototyping for connected productsRapid video prototyping for connected products
Rapid video prototyping for connected products
 
How to Product Manage Yourself by CNET Sr Product Manager
How to Product Manage Yourself by CNET Sr Product ManagerHow to Product Manage Yourself by CNET Sr Product Manager
How to Product Manage Yourself by CNET Sr Product Manager
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
Rapid Iterative Prototyping & UserTesting
Rapid Iterative Prototyping & UserTestingRapid Iterative Prototyping & UserTesting
Rapid Iterative Prototyping & UserTesting
 
What does it mean to be a test engineer?
What does it mean to be a test engineer?What does it mean to be a test engineer?
What does it mean to be a test engineer?
 
#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...
#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...
#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...
 
Model Monitoring at Scale with Apache Spark and Verta
Model Monitoring at Scale with Apache Spark and VertaModel Monitoring at Scale with Apache Spark and Verta
Model Monitoring at Scale with Apache Spark and Verta
 
Better Functional Design through TDD
Better Functional Design through TDDBetter Functional Design through TDD
Better Functional Design through TDD
 
Managing software projects with Team Foundation Server 2013 in Agile Scrum
Managing software projects with Team Foundation Server 2013 in Agile ScrumManaging software projects with Team Foundation Server 2013 in Agile Scrum
Managing software projects with Team Foundation Server 2013 in Agile Scrum
 

Recently uploaded

Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Niamh verma
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceanilsa9823
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7Pooja Nehwal
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Pooja Nehwal
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceanilsa9823
 
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...wyqazy
 
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝soniya singh
 

Recently uploaded (7)

Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
 
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
 

Building an A/B Testing Framework that Works for Developers