SlideShare une entreprise Scribd logo
1  sur  56
Jeff Sing (Iterable)
Quality Leadership,Testing, and
Governance Tactics that Make or Break
Your Progressive Delivery System
Jeff Sing
● Sr Eng Manager - Quality & Operations
@Iterable
● 15 Years in QA in a variety of industries
● Progressive Delivery Advocate
jeff.sing@iterable.com
https://www.linkedin.com/in/jeffsing/
Quality Leadership,Testing, and
Governance Tactics that Make or Break
Your Progressive Delivery System
Progressive Delivery
“… a new new basket of skill and technologies concerned with modern
software development, testing and deployment. I am thinking of Canarying,
Feature Flags, A/B testing at scale.”
- James Monk, RedMonk
Examples of Progressive Delivery
Continuous Delivery helps your team move faster by
making each change small and manageable.
Progressive Delivery helps your team move faster by
reducing the risk of each change by controlling the
audience exposed.
Data Driven Software Development
Did I build the right Product?
Did I build the Product right?
What happens when you don’t
make good data driven decisions?
if feature_flag is ‘on’:
do_something()
else:
do_something_else()
So… Feature Flags?
enabled: False
header_color: #F829EA
header_sticky: True
header_height: 20
header_message: ‘We love
our users <3’
mobile_app_header
Feature Rollout
Disable header in
production, no code
change.
enabled: True
header_color: #F829EA
header_sticky: True
header_height: 20
header_message: ‘We love
our users <3’
mobile_app_header
Feature Rollout
Slowly rollout new
header to only
certain customers.
Software Development Life Cycle
Build & Test
● Features don’t need
to be completed to
get merged
● No wasted time
untangling messy
merge conflicts
Deploy
● Ship faster by
decoupling deploys
from releases to
shorten dev cycle
● Deploy frequently
and safety
Release
● Empower teams to
manage their own
releases
● Quickly rollback
production
incidents (way
faster MTTR)
Feature Flag Solutions
Companies home build their own progressive
delivery solution. Engineering usually builds
solution and iterates on functionality as the
system matures (Uber Piranha).
Vendor bought solution such as Optimizely or
LaunchDarkly. These vendors charge by seats
and unique visits. Typically they provide a SDK
to integrate with your system and custom
dashboards.
Homebuilt Solutions Vendor Solutions
Quality Leadership,Testing, and
Governance Tactics that Make or Break
Your Progressive Delivery System
Governance Tactics
Mission Control Damage Control
Testing
Why governance and testing?
Feature Flags
What could go wrong?
What does this flag do? Who turned off my flag? Who touched my flag?
Horror Story Time!
Feature Flag Governance
Feature Flag Governance
Flag Info
General Info
- What does Flag do
when it’s On/Off
- What env is it
deployed?
Visibility
- Who needs to know if
this is On/Off?
- Who is monitoring
metrics?
Risk Level
How dangerous is this to
roll out?
What happens if something
catastrophic happens to
this flag?
Access Level
Who is allowed to make
changes to this feature flag?
How do we track this?
Exit Strategy
When is this feature flag no
longer useful?
When it is no longer useful,
who is removing it?
Example: Launch Darkly Governance
Example: Launch Darkly Governance
Example: Governance
Flag Info
1. Feature On Behavior
2. Feature Off Behavior
3. Who actually owns this
Feature Flag
Example: Governance
Risk Level
1. Can I roll back?
2. What happens if this
flag fails?
Example: Governance
Exit Strategy
1. When should I remove
this?
2. When can I remove this?
3. Who should be removing
this?
Feature Flag Testing Strategy
Testing Strategy
Test Type High Level Strategy
Manual Test Only most critical variations.
E2E Test Focus only on important variations
and test application still works if all
features are on/off
Integration Test Mock and stub to control feature
states. Focus on individual code paths
to ensure proper integration and
business logic
Unit Test Each code path should have its own
set of independent unit tests. Ensure
high code coverage, just as if you
didn’t have any feature flags in your
codebase.
General E2E Automation Test Strategy
Test Runner + INDETERMINISM =
General E2E Automation Test Strategy
Remove
INDETERMINISM
1. Special Test User
2. Test Query Parameter to
force a particular version
3. API Endpoint to set variation
HELENA
PATTERSON
“Despite being red, Mars is a
cold place. It’s full of iron
oxide dust, which gives the
planet its reddish cast”
Special Test User
(Launch Darkly)
General E2E Automation Test Strategy
(Query Parameter)
General E2E Automation Test Strategy
(Automation Controls Path w/API calls)
Feature Flag Types
Feature Rollout
For deploying a new feature
that will be permanent.
Experimentation
Perform A/B/n tests against
our deployed features.
Short Term
enabled: True
header_color: #F829EA
header_sticky: True
header_height: 20
header_message: ‘We love
our users <3’
mobile_app_header
Experimentation
Does header “We
love our users <3”
drive more
conversions vs “Hi,
welcome?” enabled: True
header_color: #F829EA
header_sticky: True
header_height: 20
header_message: ‘Hi,
welcome?’
mobile_app_header
50% 50%
Customer A Customer B
Feature Flag Types
Feature Rollout
For deploying a new feature
that will be permanent.
Experimentation
Perform A/B/n tests against
our deployed features.
Permission
Change product experience
that certain users receive
Short Term
Long Term
enabled: True
user_tier: premium
header_height: 20
premium_view
Permissions
Is user_tier type
premium? If so, allow
them to access the
premium content.
Feature Flag Types
Feature Rollout
For deploying a new feature
that will be permanent.
Experimentation
Perform A/B/n tests against
our deployed features.
Permission
Change product experience
that certain users receive
Operation
Controls operational
aspects of your system;
allows control of certain
operational features in your
production environment
Short Term
Long Term
enabled: True
checkout_version: 3
quick_checkout: True
header_height: 20
checkout_flow
Operations
Change the
checkout_flow
dynamically without
having to deploy.
enabled: True
checkout_version: 3
quick_checkout: True
header_height: 20
checkout_flow
Operations
Change the
checkout_flow
dynamically without
having to deploy.
4
Feature Flag Types
Feature Rollout
For deploying a new feature
that will be permanent.
Experimentation
Perform A/B/n tests against
our deployed features.
Permission
Change product experience
that certain users receive
Operation
Controls operational
aspects of your system;
allows control of certain
operational features in your
production environment
Circuit Breaker
Turn on/off certain features
or conditions in your
production environment.
Short Term
Long Term
enabled: True
fresh_boost: 1.25
profile_boost: 2.10
local_boost: 0.75
search_ranking_algorithm Circuit Breaker
Turn on/off
search_ranking_alogrithm.
enabled: False
fresh_boost: 1.25
profile_boost: 2.10
local_boost: 0.75
search_ranking_algorithm Circuit Breaker
Turn on/off
search_ranking_alogrithm.
Governance Tactics
Mission Control Damage Control
Testing
Same but Very Different...
Feature Flags
Feature Flag Governance
Feature Flag Governance
Flag Info
Access
Level
Risk Level
Exit
Strategy
Experiment
Hypothesis
driven
Product/Eng Low Experiment End
Permission
Business Tier
Provisioning Info
CS/AE/GTM
Restrictive
Access
High Rare
Operational Eng Runbook Eng High/Medium
If Feature
Deprecates
Circuit
Breaker
Eng Runbook Eng Low
If Feature
Deprecates
Example: Governance (Flag Info)
Example: Governance (Access)
Example: Governance (Risk)
Example: Governance (Removal)
Feature Flag Testing
Permission: E2E Test Strategy
Permissions
1. Checking that
“provisioning” is correct
2. Automation should
check all paths
3. High sensitivity in
regression that we don’t
remove a customers
features
Operational: E2E Test Strategy
Operational
1. Validate “default”
condition
2. Strategy to validate
operational values may
vary...
3. Doesn’t always make
sense to automate all
paths...
enabled: True
checkout_version: 3
quick_checkout: True
header_height: 20
checkout_flow
Circuit Breaker: E2E Test Strategy
Circuit Breaker
1. Regression Automation:
Product still works if
flag is ON, and still
works if OFF
2. 3rd Party Integrations -
usually manually tested
TAKEAWAYS
POWERING MODERN
DEPLOYMENT
Feature Flags used correctly are
an incredibly powerful
engineering tool.
CONTROLLED BLAST
RADIUS
Quality champions rejoice! Plus
our MTTR should be factors
better!
01
03
02
04
05
06
THOUGHTFUL
IMPLEMENTATION
Ensure your organization has a
strong process for
releasing/managing/removing
your feature flag, or else
technical debt can punish you.
FEATURE FLAG
DIFFERENTIATION
Not all Feature Flags are alike,
why would you treat them so?
DETERMINISTIC
TESTING
Ensure you are properly testing
your feature flags and that you
have good feature coverage for
each path.
QUALITY LEADERSHIP
Every organization needs
leadership around governance
and testing.
Interested in learning more about Feature Flags? Or trying them?
VENDORS
■ Optimizely (Free Rollouts): https://www.optimizely.com/rollouts/
■ LaunchDarkly: https://launchdarkly.com/
■ Split: https://split.io/
FURTHER READING
■ Feature Toggles: https://martinfowler.com/articles/feature-toggles.html
■ Getting Started WIth Feature Flags: https://dzone.com/refcardz/getting-started-with-feature-flags
■ Unleash (open source Feature Flag): https://github.com/Unleash/unleash
RESOURCES
CREDITS: This presentation template was created by Slidesgo, including
icons by Flaticon, and infographics & images by Freepik.
Please keep this slide for attribution.
jeff.sing@iterable.com
https://www.linkedin.com/in/jeffsing
/
Stay in Touch

Contenu connexe

Similaire à Quality Leadership, Testing, and Governance Tactics that Make or Break Your Progressive Delivery System - Jeff Sing

What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaEdureka!
 
Enhancing Software Quality
Enhancing Software QualityEnhancing Software Quality
Enhancing Software QualityAnand Prabhala
 
How to feature flag and run experiments in iOS and Android
How to feature flag and run experiments in iOS and AndroidHow to feature flag and run experiments in iOS and Android
How to feature flag and run experiments in iOS and AndroidOptimizely
 
Some Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software TestingSome Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software TestingKumari Warsha Goel
 
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverQA or the Highway
 
Automation testing
Automation testingAutomation testing
Automation testingTomy Rhymond
 
Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test Gregory Solovey
 
Software Quality Assurance Engineer_Lenin_Resume
Software Quality Assurance Engineer_Lenin_ResumeSoftware Quality Assurance Engineer_Lenin_Resume
Software Quality Assurance Engineer_Lenin_ResumeLenin MS
 
360logica At A Glance
360logica At A Glance360logica At A Glance
360logica At A Glanceguestf2e1db
 
manas expre-01
manas expre-01manas expre-01
manas expre-01Manas Rout
 
Optimizing Your Agile Testing Processes
Optimizing Your Agile Testing ProcessesOptimizing Your Agile Testing Processes
Optimizing Your Agile Testing ProcessesStanton Champion
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For AgileNaresh Jain
 
Baking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterBaking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterTechWell
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingPerfecto by Perforce
 
Driving Agile Product Development with Experimentation
Driving Agile Product Development with ExperimentationDriving Agile Product Development with Experimentation
Driving Agile Product Development with ExperimentationSplit Software
 
Tahseen Experience Resume
Tahseen Experience  ResumeTahseen Experience  Resume
Tahseen Experience ResumeSyed Ali
 
Testing 3: Types Of Tests That May Be Required
Testing 3: Types Of Tests That May Be RequiredTesting 3: Types Of Tests That May Be Required
Testing 3: Types Of Tests That May Be RequiredArleneAndrews2
 
Adaptive Development Methodology
Adaptive Development MethodologyAdaptive Development Methodology
Adaptive Development MethodologySteve Greene
 

Similaire à Quality Leadership, Testing, and Governance Tactics that Make or Break Your Progressive Delivery System - Jeff Sing (20)

What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | Edureka
 
Enhancing Software Quality
Enhancing Software QualityEnhancing Software Quality
Enhancing Software Quality
 
How to feature flag and run experiments in iOS and Android
How to feature flag and run experiments in iOS and AndroidHow to feature flag and run experiments in iOS and Android
How to feature flag and run experiments in iOS and Android
 
Some Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software TestingSome Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software Testing
 
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test
 
Software Quality Assurance Engineer_Lenin_Resume
Software Quality Assurance Engineer_Lenin_ResumeSoftware Quality Assurance Engineer_Lenin_Resume
Software Quality Assurance Engineer_Lenin_Resume
 
360logica At A Glance
360logica At A Glance360logica At A Glance
360logica At A Glance
 
manas expre-01
manas expre-01manas expre-01
manas expre-01
 
Optimizing Your Agile Testing Processes
Optimizing Your Agile Testing ProcessesOptimizing Your Agile Testing Processes
Optimizing Your Agile Testing Processes
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
Baking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterBaking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile Tester
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
Driving Agile Product Development with Experimentation
Driving Agile Product Development with ExperimentationDriving Agile Product Development with Experimentation
Driving Agile Product Development with Experimentation
 
Tahseen Experience Resume
Tahseen Experience  ResumeTahseen Experience  Resume
Tahseen Experience Resume
 
SANGEETHA S JADAV
SANGEETHA S JADAVSANGEETHA S JADAV
SANGEETHA S JADAV
 
Testing 3: Types Of Tests That May Be Required
Testing 3: Types Of Tests That May Be RequiredTesting 3: Types Of Tests That May Be Required
Testing 3: Types Of Tests That May Be Required
 
Rich_CV
Rich_CVRich_CV
Rich_CV
 
Adaptive Development Methodology
Adaptive Development MethodologyAdaptive Development Methodology
Adaptive Development Methodology
 

Plus de QA or the Highway

KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfQA or the Highway
 
Ravi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptxRavi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptxQA or the Highway
 
Caleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptxCaleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptxQA or the Highway
 
Thomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfThomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfQA or the Highway
 
Thomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdfThomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdfQA or the Highway
 
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdfJoe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdfQA or the Highway
 
Sarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdfSarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdfQA or the Highway
 
Jeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfJeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfQA or the Highway
 
Leandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdfLeandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdfQA or the Highway
 
Rick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdfRick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdfQA or the Highway
 
Robert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptxRobert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptxQA or the Highway
 
Federico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdfFederico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdfQA or the Highway
 
Andrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptxAndrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptxQA or the Highway
 
Melissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdfMelissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdfQA or the Highway
 
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdfJeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdfQA or the Highway
 
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptxDesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptxQA or the Highway
 
Damian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdfDamian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdfQA or the Highway
 
Lee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdfLee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdfQA or the Highway
 
Jordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptxJordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptxQA or the Highway
 
Carlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptxCarlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptxQA or the Highway
 

Plus de QA or the Highway (20)

KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
 
Ravi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptxRavi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptx
 
Caleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptxCaleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptx
 
Thomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfThomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdf
 
Thomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdfThomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdf
 
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdfJoe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
 
Sarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdfSarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdf
 
Jeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfJeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdf
 
Leandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdfLeandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdf
 
Rick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdfRick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdf
 
Robert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptxRobert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptx
 
Federico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdfFederico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdf
 
Andrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptxAndrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptx
 
Melissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdfMelissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdf
 
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdfJeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
 
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptxDesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
 
Damian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdfDamian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdf
 
Lee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdfLee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdf
 
Jordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptxJordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptx
 
Carlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptxCarlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptx
 

Dernier

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Dernier (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Quality Leadership, Testing, and Governance Tactics that Make or Break Your Progressive Delivery System - Jeff Sing

  • 1. Jeff Sing (Iterable) Quality Leadership,Testing, and Governance Tactics that Make or Break Your Progressive Delivery System
  • 2. Jeff Sing ● Sr Eng Manager - Quality & Operations @Iterable ● 15 Years in QA in a variety of industries ● Progressive Delivery Advocate jeff.sing@iterable.com https://www.linkedin.com/in/jeffsing/
  • 3. Quality Leadership,Testing, and Governance Tactics that Make or Break Your Progressive Delivery System
  • 4. Progressive Delivery “… a new new basket of skill and technologies concerned with modern software development, testing and deployment. I am thinking of Canarying, Feature Flags, A/B testing at scale.” - James Monk, RedMonk
  • 6. Continuous Delivery helps your team move faster by making each change small and manageable. Progressive Delivery helps your team move faster by reducing the risk of each change by controlling the audience exposed.
  • 7. Data Driven Software Development Did I build the right Product? Did I build the Product right?
  • 8. What happens when you don’t make good data driven decisions?
  • 9. if feature_flag is ‘on’: do_something() else: do_something_else() So… Feature Flags?
  • 10. enabled: False header_color: #F829EA header_sticky: True header_height: 20 header_message: ‘We love our users <3’ mobile_app_header Feature Rollout Disable header in production, no code change.
  • 11. enabled: True header_color: #F829EA header_sticky: True header_height: 20 header_message: ‘We love our users <3’ mobile_app_header Feature Rollout Slowly rollout new header to only certain customers.
  • 12. Software Development Life Cycle Build & Test ● Features don’t need to be completed to get merged ● No wasted time untangling messy merge conflicts Deploy ● Ship faster by decoupling deploys from releases to shorten dev cycle ● Deploy frequently and safety Release ● Empower teams to manage their own releases ● Quickly rollback production incidents (way faster MTTR)
  • 13. Feature Flag Solutions Companies home build their own progressive delivery solution. Engineering usually builds solution and iterates on functionality as the system matures (Uber Piranha). Vendor bought solution such as Optimizely or LaunchDarkly. These vendors charge by seats and unique visits. Typically they provide a SDK to integrate with your system and custom dashboards. Homebuilt Solutions Vendor Solutions
  • 14. Quality Leadership,Testing, and Governance Tactics that Make or Break Your Progressive Delivery System
  • 15. Governance Tactics Mission Control Damage Control Testing Why governance and testing? Feature Flags
  • 16. What could go wrong? What does this flag do? Who turned off my flag? Who touched my flag?
  • 19. Feature Flag Governance Flag Info General Info - What does Flag do when it’s On/Off - What env is it deployed? Visibility - Who needs to know if this is On/Off? - Who is monitoring metrics? Risk Level How dangerous is this to roll out? What happens if something catastrophic happens to this flag? Access Level Who is allowed to make changes to this feature flag? How do we track this? Exit Strategy When is this feature flag no longer useful? When it is no longer useful, who is removing it?
  • 22. Example: Governance Flag Info 1. Feature On Behavior 2. Feature Off Behavior 3. Who actually owns this Feature Flag
  • 23. Example: Governance Risk Level 1. Can I roll back? 2. What happens if this flag fails?
  • 24. Example: Governance Exit Strategy 1. When should I remove this? 2. When can I remove this? 3. Who should be removing this?
  • 26. Testing Strategy Test Type High Level Strategy Manual Test Only most critical variations. E2E Test Focus only on important variations and test application still works if all features are on/off Integration Test Mock and stub to control feature states. Focus on individual code paths to ensure proper integration and business logic Unit Test Each code path should have its own set of independent unit tests. Ensure high code coverage, just as if you didn’t have any feature flags in your codebase.
  • 27. General E2E Automation Test Strategy Test Runner + INDETERMINISM =
  • 28. General E2E Automation Test Strategy Remove INDETERMINISM 1. Special Test User 2. Test Query Parameter to force a particular version 3. API Endpoint to set variation HELENA PATTERSON “Despite being red, Mars is a cold place. It’s full of iron oxide dust, which gives the planet its reddish cast”
  • 30. General E2E Automation Test Strategy (Query Parameter)
  • 31. General E2E Automation Test Strategy (Automation Controls Path w/API calls)
  • 32.
  • 33. Feature Flag Types Feature Rollout For deploying a new feature that will be permanent. Experimentation Perform A/B/n tests against our deployed features. Short Term
  • 34. enabled: True header_color: #F829EA header_sticky: True header_height: 20 header_message: ‘We love our users <3’ mobile_app_header Experimentation Does header “We love our users <3” drive more conversions vs “Hi, welcome?” enabled: True header_color: #F829EA header_sticky: True header_height: 20 header_message: ‘Hi, welcome?’ mobile_app_header 50% 50% Customer A Customer B
  • 35. Feature Flag Types Feature Rollout For deploying a new feature that will be permanent. Experimentation Perform A/B/n tests against our deployed features. Permission Change product experience that certain users receive Short Term Long Term
  • 36. enabled: True user_tier: premium header_height: 20 premium_view Permissions Is user_tier type premium? If so, allow them to access the premium content.
  • 37. Feature Flag Types Feature Rollout For deploying a new feature that will be permanent. Experimentation Perform A/B/n tests against our deployed features. Permission Change product experience that certain users receive Operation Controls operational aspects of your system; allows control of certain operational features in your production environment Short Term Long Term
  • 38. enabled: True checkout_version: 3 quick_checkout: True header_height: 20 checkout_flow Operations Change the checkout_flow dynamically without having to deploy.
  • 39. enabled: True checkout_version: 3 quick_checkout: True header_height: 20 checkout_flow Operations Change the checkout_flow dynamically without having to deploy. 4
  • 40. Feature Flag Types Feature Rollout For deploying a new feature that will be permanent. Experimentation Perform A/B/n tests against our deployed features. Permission Change product experience that certain users receive Operation Controls operational aspects of your system; allows control of certain operational features in your production environment Circuit Breaker Turn on/off certain features or conditions in your production environment. Short Term Long Term
  • 41. enabled: True fresh_boost: 1.25 profile_boost: 2.10 local_boost: 0.75 search_ranking_algorithm Circuit Breaker Turn on/off search_ranking_alogrithm.
  • 42. enabled: False fresh_boost: 1.25 profile_boost: 2.10 local_boost: 0.75 search_ranking_algorithm Circuit Breaker Turn on/off search_ranking_alogrithm.
  • 43. Governance Tactics Mission Control Damage Control Testing Same but Very Different... Feature Flags
  • 45. Feature Flag Governance Flag Info Access Level Risk Level Exit Strategy Experiment Hypothesis driven Product/Eng Low Experiment End Permission Business Tier Provisioning Info CS/AE/GTM Restrictive Access High Rare Operational Eng Runbook Eng High/Medium If Feature Deprecates Circuit Breaker Eng Runbook Eng Low If Feature Deprecates
  • 51. Permission: E2E Test Strategy Permissions 1. Checking that “provisioning” is correct 2. Automation should check all paths 3. High sensitivity in regression that we don’t remove a customers features
  • 52. Operational: E2E Test Strategy Operational 1. Validate “default” condition 2. Strategy to validate operational values may vary... 3. Doesn’t always make sense to automate all paths... enabled: True checkout_version: 3 quick_checkout: True header_height: 20 checkout_flow
  • 53. Circuit Breaker: E2E Test Strategy Circuit Breaker 1. Regression Automation: Product still works if flag is ON, and still works if OFF 2. 3rd Party Integrations - usually manually tested
  • 54. TAKEAWAYS POWERING MODERN DEPLOYMENT Feature Flags used correctly are an incredibly powerful engineering tool. CONTROLLED BLAST RADIUS Quality champions rejoice! Plus our MTTR should be factors better! 01 03 02 04 05 06 THOUGHTFUL IMPLEMENTATION Ensure your organization has a strong process for releasing/managing/removing your feature flag, or else technical debt can punish you. FEATURE FLAG DIFFERENTIATION Not all Feature Flags are alike, why would you treat them so? DETERMINISTIC TESTING Ensure you are properly testing your feature flags and that you have good feature coverage for each path. QUALITY LEADERSHIP Every organization needs leadership around governance and testing.
  • 55. Interested in learning more about Feature Flags? Or trying them? VENDORS ■ Optimizely (Free Rollouts): https://www.optimizely.com/rollouts/ ■ LaunchDarkly: https://launchdarkly.com/ ■ Split: https://split.io/ FURTHER READING ■ Feature Toggles: https://martinfowler.com/articles/feature-toggles.html ■ Getting Started WIth Feature Flags: https://dzone.com/refcardz/getting-started-with-feature-flags ■ Unleash (open source Feature Flag): https://github.com/Unleash/unleash RESOURCES
  • 56. CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, and infographics & images by Freepik. Please keep this slide for attribution. jeff.sing@iterable.com https://www.linkedin.com/in/jeffsing / Stay in Touch

Notes de l'éditeur

  1. Currently am leading the Quality Program and Engineering Operations at Iterable - a cross channel marketing platform that enables e-commerce customers to control their customer experience and understand and measure every interaction across their entire customer journey. We serve customers like Doordash, MadisonReed, zillow, and asics. 15 Years Web Security/Fraud Prevention Medical Devices Marketing Tech (most recently) Everything from small medium to humongous
  2. Continuous Delivery is a set of practices that ensure your code is always in a deployable state. You accomplish this by increasing the frequency at which code is committed, built, tested, and deployed—steps that in the past only occurred at the end of a project when it was ‘code complete’. Because your team is delivering frequently, every change is smaller. Changes are more isolated and less risky. Problems are identified more readily, and bugs are fixed more easily because they are discovered immediately. Progressive Delivery is the technique of delivering changes first to small, low-risk audiences, and then expanding to larger and riskier audiences, validating the results as you go. We can accomplish this by deploying first to a certain environment or certain user.
  3. What does that mean? Well in QA, a lot of our orchestration is around to answer this question - Did I build the product right? Automation test, test planning, feature testing matrixes, etc is to answer did we release correctly? CI helps us with this because it makes it easier for us to do this, smaller changes, smaller releases... On the other hand, all of this cannot help us determine if we built the right product. Using Progressive Delivery we can not only control our feature rollouts, but we can experiment on who and what our customers experience is, and determine if this is the right feature to release.
  4. So let’s talk orchestration of Progressive Delivery: The primary method in the software development industry to orchestrate this are Feature Flags. Essentially you are wrapping your features behind a flag and orchestrating it so that when you deploy to production, it isn’t visible until you are ready to flip the switch. Now obviously their are more complexities to this, but this is the core concept. You can build on top to have a method to deploy in a sliding scale (so 20% of your audience, 40%, 60% etc) or pass in certain values or configurations that only affect features behind that flag.
  5. So let’s look at an example, here is what I would call a feature rollout which i just mentioned. Here my feature flag (mobile_app_header) is disabled. When my users come to my app, nothing is in the header. However when I’m ready to flip it on, it will appear in production.
  6. Build & Test - no stale feature branches, smaller code reviews Deploy - we actually deploy constantly at Iterable. This allows us to test certain features in production. Release - SE can release certain features, teams can control betas. QA perspective MTTR has improved
  7. For todays talk - I’ll talk around the 2 major ways companies are implementing FF - either as as homebuilt solution or vendors (in this case Launch Darkly). Each have their pros and cons but this talk easily applies to both.
  8. So now that I’ve talked a bit about progressive delivery and the power of feature flags, let’s get to the meat of this talk… testing and governance tactics
  9. What does this flag do: You have a feature flag out forever, the developer leaves, and now you have no idea what it does, I guess you can never turn it off safely… Who turned off my flag: A new engineer comes, misreads some doc, and turns off a flag not realzing it causes a catastrophic outage Who touched my flag: This one is more insidious, we didn’t remove a feature flag, and the other dev teams didn’t realize it was in your code base. Someone builds a feature flag upstream and turns it off, suddenly your flag no longer behaves the way you think it does. Who touched your flag? Why?
  10. Knights capital - high frequency trading algorith - KNIGHT was largets trader in US equities market with a mrket share of 17.3% on NYSE and 16.9 on NASDAQ. Developers reusing a flag that was no longer thought to be in use. Dead code coming back to life. One server started making as many trades as fast as possible without limit Rolled back within 45 minutes. ½ billion dollars
  11. Flag info x4 Access Level x2 Risk Level x2 Exit Strategy x2
  12. Unit testing - your developers should be writing these with the mentality that you didn’t have any feature flags in your codebase Integration tests - this is important to have orchestration to mock or stub your feature states. You need to make sure the code paths are tested The top part of our pyramids - automation gets expensive, and you may have many feature paths, so for E2E you really want to make sure you are testing your critical variations - also don’t forget to test OFF state, as your flags may be in for abit and at any point you could be turning off your feature Manual Testing - is super important. You should be checking your critical variations. What is important though is you need to expose your manual testers tooling to be able to control the flags to let them get into the right variation. … also make sure your tooling lets you know what variation you are in.
  13. Experimentation - allows me to drive traffic to different features and measure conversions
  14. Permission - change product experience - bucket your premium users into certain experiences
  15. Operation - controls operational aspects - some examples, you can hook a feature variable to your features, so if the code base is activated it dynamically will pull that value in, meaning you can do something like point to where the source of an image is dynamically change it by modifying the resource location, or maybe a devops config change, where you can modify how many instances are being spun up, etc.
  16. Since permission flags are acting as gates for a tested feature, testing for permission feature flags revolve around ensuring the right customer is correctly bucketed rather than if the feature is working. This is usually handled by the business systems team as we add users into the permission flag. In general they perform this by picking a customer and emulating their experience on our product and validating that they are getting the correct set of features purchased.
  17. Since permission flags are acting as gates for a tested feature, testing for permission feature flags revolve around ensuring the right customer is correctly bucketed rather than if the feature is working. This is usually handled by the business systems team as we add users into the permission flag. In general they perform this by picking a customer and emulating their experience on our product and validating that they are getting the correct set of features purchased.