5. A/B TESTING
• DEFINE THE HYPOTHESIS
• WHICH USERS WILL BE PART OF THE EXPERIMENT?
• HOW WILL YOU MEASURE?
• FOR HOW LONG DO YOU NEED TO RUN THE
EXPERIMENT?
QUESTIONS BEFORE YOU START
7. FEATURE TOGGLES
• DO YOU NEED IT?
• DO YOU KNOW THAT A FEATURE TOGGLE COULD
BE CONSIDERED TECHNICAL DEBT?
(HTTPS://DZONE.COM/ARTICLES/FEATURE-
TOGGLES-ARE-ONE-WORST)
• IT INCREASES TESTING MATRIX
QUESTIONS BEFORE YOU START
9. CONTROLLED ROLLOUT
• DEPLOY TWO VERSIONS IN PARALLEL
• HOW TO ROUTE TRAFFIC TO THE RELEVANT
BRANCH
• ENSURE EVERY USER IS HANDLED IN ONE
BRANCH ONLY
QUESTIONS BEFORE YOU START
10. HANOI
• “PYTHON LIBRARY TO TOGGLE ON/OFF FEATURES USING A BACKEND AS DATA STORE”
• WHY THIS FUNCTIONALITY? PORT OF ROLLOUT GEM (RUBY) BY JAMES GOLICK (R.I.P.)
• HTTPS://GITHUB.COM/JUANDEBRAVO/HANOI
• 5 STARS (THANKS EDU AND GUIDO!)
• 3 PYTHON INTERPRETERS (2.X, 3.X, PYPY)
• 4 RELEASES
• 2 WATCHERS
Capability for business to test two different behaviors of your product.
e.g.
Audio codec: OPUS, AMR, G.711
Timers in incoming calls
Hyphotesis
Capability for DevOps to decouple the development and deployment pipeline
e.g.
Prevent dependencies
Avoid deploying a new version only when business decide to expose the new functionality
Ease rollback: behave as the previous version