SlideShare a Scribd company logo
1 of 27
Download to read offline
Overcoming the Challenges of
Experimentation on a Service
Oriented Architecture
Lupin Campos & Stephen Schwahn

September 2020
Hi! We are Lupin and Steph :)
Lupin Campos
Director of Product Growth
Tech Startup Founder (Funnely)
Software Development Company Founder (Leanbirds & Condiminds)
Former Venture Partner @ 500Startups
Steph Schwahn
Growth Team Tech Lead
Tech Startup Founder (Crescendo)
Mobile App Development Company Founder (Plutonium Apps)
Georgia Tech Alumni, graduated with high honors.
So far:
- 1 complete backend refactor 

- 2 frontend refactors

- 36 Registration flow experiments (web + fullstack)

- 40% Improvement on Registration Conversion Rate
1Let’s Get Into
Context
A quick note on who we are, what we do, and the
challenges that we found in the way.
This is our registration Process...
Phone
Number
Role
Verification
Code
Email &
Password
Child Info
Personal
Info
Sync
Bank Acc
(Website)
….And here are the services behind it.
A simplified version, you don’t want to see the entire thing. Trust us.
1Service Oriented Architectures with
Optimizely
(the wrong way)
Greenlight Financial Technology, Inc.
SOA with Optimizely Fullstack on Frontend
Web
App
Marketing
Site
Mobile
App Edge
Service
1
Edge
Service
2
Nested
Service
1
Nested
Service
2
Helper
Service
1
Backend
Greenlight Financial Technology, Inc.
SOA with Optimizely Fullstack on Frontend
Web
App
Marketing
Site
Mobile
App Edge
Service
1
Edge
Service
2
Nested
Service
1
Nested
Service
2
Helper
Service
1
Backend
Variant: Variant 1
Variable: FlowId = 6
Greenlight Financial Technology, Inc.
SOA with Optimizely Fullstack
Web
App
Marketing
Site
Mobile
App Edge
Service
1
Edge
Service
2
Nested
Service
1
Nested
Service
2
Helper
Service
1
Backend
User_id: '1234_4321'
Greenlight Financial Technology, Inc.
SOA with Optimizely Fullstack
Web
App
Marketing
Site
Mobile
App Edge
Service
1
Edge
Service
2
Nested
Service
1
Nested
Service
2
Helper
Service
1
Backend
User_id: '1234_4321'
30s 40s
400s 200s
5s
Greenlight Financial Technology, Inc.
SOA with Optimizely Fullstack
Web
App
Marketing
Site
Mobile
App Edge
Service
1
Edge
Service
2
Nested
Service
1
Nested
Service
2
Helper
Service
1
Backend
User_id: '1234_4321'
30s 40s
400s 200s
5s
1Service Oriented Architectures with
Optimizely
(our way)
Greenlight Financial Technology, Inc.
Solution: SOA with Optimizely Agent
Marketing
Site
Mobile
App Edge
Service
1
Edge
Service
2
Nested
Service
1
Nested
Service
2
Helper
Service
1
Backend
Feature or Experiment
Key: 'featureTest’
User_id: '1234_4321'
Optimizely
Agent
30s
Web
App
Greenlight Financial Technology, Inc.
In Practice….
Client 1
Client 2
Client n
.
.
.
Ambassador
(API Gateway)
Pod (3-30 running based on traffic)
Optimizely
Service
(Node.js)
Optimizely
Agentlocalhost:8080
Datafile sync
(every 30s)
localhost:3000
Exposes Optimizely Service
on service port 80
Service
grpc:80
pod-ip:3000
NodeJS Container Go Container (sidecar)
Datafile
pod-ip:3000pod-ip:3000
1Let’s talk about “User ID”
And how do we pass it everywhere!
Greenlight Financial Technology, Inc.
Used for bucketing
MurmurHash(“user_1234”)
Rollout to 60%
Greenlight Financial Technology, Inc.
Used for bucketing
MurmurHash(“user_5678”)
Rollout to 60%
Greenlight Financial Technology, Inc.
What if we don’t have the user id?
MurmurHash(“steph@greenlight.me”)
?
Rollout to 60%
Greenlight Financial Technology, Inc.
Introducing the Experimentation ID!
MurmurHash(“exp_user_1234”)
Rollout to 60%
1Introducing
Experimentation-ID
Service
How we keep a consistent user id regardless of
context
Greenlight Financial Technology, Inc.
Experimentation
-ID service
Greenlight Financial Technology, Inc.
Optimizely Service orchestrates
Greenlight Financial Technology, Inc.
New API Contract!
export type Context = UserIdContext | EmailContext | AnonymousIdContext | RegistrationIdContext | DeviceInfoContext
export type EmailContext = {
email: string
}
export type AnonymousIdContext = {
anonymousId: string
}
export type DeviceInfoContext = {
deviceOs: string,
deviceToken: string
}
export type UserIdContext = {
userId: string
}
export type RegistrationIdContext = {
registrationId: string
}
export function isFeatureEnabled(featureKey: string, context: Context, attributes?: Attributes)
export function getEnabledFeatures(context: Context, attributes?: Attributes)
...
1Truly Full Stack
Experimentation
Through the ENTIRE user journey, from the
marketing landing page, through registration
services, and all the way to fundamental service
primitives
Thank You
greenlightcard.com #greenlight
Science of delivering it right

More Related Content

What's hot

Opticon 2017 How Developers Can Take Experimentation
Opticon 2017 How Developers Can Take ExperimentationOpticon 2017 How Developers Can Take Experimentation
Opticon 2017 How Developers Can Take ExperimentationOptimizely
 
[Webinar] Innovate Faster by Adopting The Modern Growth Stack
[Webinar] Innovate Faster by Adopting The Modern Growth Stack[Webinar] Innovate Faster by Adopting The Modern Growth Stack
[Webinar] Innovate Faster by Adopting The Modern Growth StackOptimizely
 
Ahead of the Curve: How 23andMe Improved UX with Performance Edge
Ahead of the Curve: How 23andMe Improved UX with Performance EdgeAhead of the Curve: How 23andMe Improved UX with Performance Edge
Ahead of the Curve: How 23andMe Improved UX with Performance EdgeOptimizely
 
Evolving Experimentation from CRO to Product Development
Evolving Experimentation from CRO to Product DevelopmentEvolving Experimentation from CRO to Product Development
Evolving Experimentation from CRO to Product DevelopmentOptimizely
 
[Webinar] How Vivid Seats Ensures Experimentation Success
[Webinar] How Vivid Seats Ensures Experimentation Success [Webinar] How Vivid Seats Ensures Experimentation Success
[Webinar] How Vivid Seats Ensures Experimentation Success Optimizely
 
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!South Tyrol Free Software Conference
 
ATAGTR2017 What Lies Beneath Robotics Process Automation
ATAGTR2017 What Lies Beneath Robotics Process AutomationATAGTR2017 What Lies Beneath Robotics Process Automation
ATAGTR2017 What Lies Beneath Robotics Process AutomationAgile Testing Alliance
 
Streamlining Automation Scripts and Test Data Management
Streamlining Automation Scripts and Test Data ManagementStreamlining Automation Scripts and Test Data Management
Streamlining Automation Scripts and Test Data ManagementQASymphony
 
[Webinar] Visa's Journey to a Culture of Experimentation
[Webinar] Visa's Journey to a Culture of Experimentation[Webinar] Visa's Journey to a Culture of Experimentation
[Webinar] Visa's Journey to a Culture of ExperimentationOptimizely
 
Evolve or Die: Healthcare IT Testing | QASymphony Webinar
Evolve or Die: Healthcare IT Testing | QASymphony WebinarEvolve or Die: Healthcare IT Testing | QASymphony Webinar
Evolve or Die: Healthcare IT Testing | QASymphony WebinarQASymphony
 
6 Strategies to Uncover Growth Opportunities for Your Business
 6 Strategies to Uncover Growth Opportunities for Your Business 6 Strategies to Uncover Growth Opportunities for Your Business
6 Strategies to Uncover Growth Opportunities for Your BusinessAtlassian
 
Taking Your Product Development to the Next Level with Full Stack
Taking Your Product Development to the Next Level with Full StackTaking Your Product Development to the Next Level with Full Stack
Taking Your Product Development to the Next Level with Full StackOptimizely
 
Thinking Beyond HPQC ALM
Thinking Beyond HPQC ALMThinking Beyond HPQC ALM
Thinking Beyond HPQC ALMQASymphony
 
Supercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the EdgeSupercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the EdgeOptimizely
 
Take Your Experimentation Program to the Next Level
Take Your Experimentation Program to the Next LevelTake Your Experimentation Program to the Next Level
Take Your Experimentation Program to the Next LevelOptimizely
 
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...Roger Snook
 
Delivering Excellent Digital Quality to Your Customers
Delivering Excellent Digital Quality to Your CustomersDelivering Excellent Digital Quality to Your Customers
Delivering Excellent Digital Quality to Your CustomersApplause
 
Tackling Strategic Engineering Challenges
Tackling Strategic Engineering ChallengesTackling Strategic Engineering Challenges
Tackling Strategic Engineering ChallengesApplause
 
DevOps: A Value Proposition
DevOps: A Value PropositionDevOps: A Value Proposition
DevOps: A Value PropositionNicole Forsgren
 
DevOps Beyond the Buzzwords: Culture, Tools, & Straight Talk
DevOps Beyond the Buzzwords: Culture, Tools, & Straight TalkDevOps Beyond the Buzzwords: Culture, Tools, & Straight Talk
DevOps Beyond the Buzzwords: Culture, Tools, & Straight TalkMark Heckler
 

What's hot (20)

Opticon 2017 How Developers Can Take Experimentation
Opticon 2017 How Developers Can Take ExperimentationOpticon 2017 How Developers Can Take Experimentation
Opticon 2017 How Developers Can Take Experimentation
 
[Webinar] Innovate Faster by Adopting The Modern Growth Stack
[Webinar] Innovate Faster by Adopting The Modern Growth Stack[Webinar] Innovate Faster by Adopting The Modern Growth Stack
[Webinar] Innovate Faster by Adopting The Modern Growth Stack
 
Ahead of the Curve: How 23andMe Improved UX with Performance Edge
Ahead of the Curve: How 23andMe Improved UX with Performance EdgeAhead of the Curve: How 23andMe Improved UX with Performance Edge
Ahead of the Curve: How 23andMe Improved UX with Performance Edge
 
Evolving Experimentation from CRO to Product Development
Evolving Experimentation from CRO to Product DevelopmentEvolving Experimentation from CRO to Product Development
Evolving Experimentation from CRO to Product Development
 
[Webinar] How Vivid Seats Ensures Experimentation Success
[Webinar] How Vivid Seats Ensures Experimentation Success [Webinar] How Vivid Seats Ensures Experimentation Success
[Webinar] How Vivid Seats Ensures Experimentation Success
 
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
 
ATAGTR2017 What Lies Beneath Robotics Process Automation
ATAGTR2017 What Lies Beneath Robotics Process AutomationATAGTR2017 What Lies Beneath Robotics Process Automation
ATAGTR2017 What Lies Beneath Robotics Process Automation
 
Streamlining Automation Scripts and Test Data Management
Streamlining Automation Scripts and Test Data ManagementStreamlining Automation Scripts and Test Data Management
Streamlining Automation Scripts and Test Data Management
 
[Webinar] Visa's Journey to a Culture of Experimentation
[Webinar] Visa's Journey to a Culture of Experimentation[Webinar] Visa's Journey to a Culture of Experimentation
[Webinar] Visa's Journey to a Culture of Experimentation
 
Evolve or Die: Healthcare IT Testing | QASymphony Webinar
Evolve or Die: Healthcare IT Testing | QASymphony WebinarEvolve or Die: Healthcare IT Testing | QASymphony Webinar
Evolve or Die: Healthcare IT Testing | QASymphony Webinar
 
6 Strategies to Uncover Growth Opportunities for Your Business
 6 Strategies to Uncover Growth Opportunities for Your Business 6 Strategies to Uncover Growth Opportunities for Your Business
6 Strategies to Uncover Growth Opportunities for Your Business
 
Taking Your Product Development to the Next Level with Full Stack
Taking Your Product Development to the Next Level with Full StackTaking Your Product Development to the Next Level with Full Stack
Taking Your Product Development to the Next Level with Full Stack
 
Thinking Beyond HPQC ALM
Thinking Beyond HPQC ALMThinking Beyond HPQC ALM
Thinking Beyond HPQC ALM
 
Supercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the EdgeSupercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the Edge
 
Take Your Experimentation Program to the Next Level
Take Your Experimentation Program to the Next LevelTake Your Experimentation Program to the Next Level
Take Your Experimentation Program to the Next Level
 
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
 
Delivering Excellent Digital Quality to Your Customers
Delivering Excellent Digital Quality to Your CustomersDelivering Excellent Digital Quality to Your Customers
Delivering Excellent Digital Quality to Your Customers
 
Tackling Strategic Engineering Challenges
Tackling Strategic Engineering ChallengesTackling Strategic Engineering Challenges
Tackling Strategic Engineering Challenges
 
DevOps: A Value Proposition
DevOps: A Value PropositionDevOps: A Value Proposition
DevOps: A Value Proposition
 
DevOps Beyond the Buzzwords: Culture, Tools, & Straight Talk
DevOps Beyond the Buzzwords: Culture, Tools, & Straight TalkDevOps Beyond the Buzzwords: Culture, Tools, & Straight Talk
DevOps Beyond the Buzzwords: Culture, Tools, & Straight Talk
 

Similar to Overcoming Challenges of Experimentation on Service Oriented Architecture

2018-10-25 Group RPA - AA Deck.pptx
2018-10-25 Group RPA - AA Deck.pptx2018-10-25 Group RPA - AA Deck.pptx
2018-10-25 Group RPA - AA Deck.pptxsaubhagya ranjan
 
Ideamart nsbm outreach 2015
Ideamart nsbm outreach 2015Ideamart nsbm outreach 2015
Ideamart nsbm outreach 2015Shafraz Rahim
 
Softjourn ticketing experience
Softjourn ticketing experienceSoftjourn ticketing experience
Softjourn ticketing experienceNatalie Senyk
 
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...apidays
 
Online Banking 2.0 webinar, October 28, 2010 by Jouk Pleiter
Online Banking 2.0 webinar, October 28, 2010 by Jouk PleiterOnline Banking 2.0 webinar, October 28, 2010 by Jouk Pleiter
Online Banking 2.0 webinar, October 28, 2010 by Jouk PleiterBackbase
 
Future Of Work - GetLinks Service Introduction 2020
Future Of Work - GetLinks Service Introduction 2020Future Of Work - GetLinks Service Introduction 2020
Future Of Work - GetLinks Service Introduction 2020Djoann Fal
 
20091203 Presentatie Eurostar V02
20091203 Presentatie Eurostar V0220091203 Presentatie Eurostar V02
20091203 Presentatie Eurostar V02Henri Haarmans
 
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunitiesThe Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunitiesOpenSpan
 
Globsync Technology IT & WEB Services
Globsync Technology IT & WEB ServicesGlobsync Technology IT & WEB Services
Globsync Technology IT & WEB ServicesSaurav Misra
 
Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07cnetto
 
Deliver agile flow presentation (1)
Deliver agile   flow presentation (1)Deliver agile   flow presentation (1)
Deliver agile flow presentation (1)James Urquhart
 
Cloud computing: Stan Freck
Cloud computing: Stan FreckCloud computing: Stan Freck
Cloud computing: Stan FreckLisa Malone
 
The Bigger Picture: New Opportunities for the Modern Enterprise
The Bigger Picture: New Opportunities for the Modern EnterpriseThe Bigger Picture: New Opportunities for the Modern Enterprise
The Bigger Picture: New Opportunities for the Modern EnterpriseInside Analysis
 
Fédération d’identité : des concepts Théoriques aux études de cas d’implément...
Fédération d’identité : des concepts Théoriques aux études de cas d’implément...Fédération d’identité : des concepts Théoriques aux études de cas d’implément...
Fédération d’identité : des concepts Théoriques aux études de cas d’implément...e-Xpert Solutions SA
 
DevOps as Digital Transformation
DevOps as Digital TransformationDevOps as Digital Transformation
DevOps as Digital TransformationPeter Muryshkin
 
SigmaTec Solutions
SigmaTec SolutionsSigmaTec Solutions
SigmaTec Solutionsasalman
 

Similar to Overcoming Challenges of Experimentation on Service Oriented Architecture (20)

2018-10-25 Group RPA - AA Deck.pptx
2018-10-25 Group RPA - AA Deck.pptx2018-10-25 Group RPA - AA Deck.pptx
2018-10-25 Group RPA - AA Deck.pptx
 
Astin Profile
Astin ProfileAstin Profile
Astin Profile
 
Astin Profile
Astin ProfileAstin Profile
Astin Profile
 
Ideamart nsbm outreach 2015
Ideamart nsbm outreach 2015Ideamart nsbm outreach 2015
Ideamart nsbm outreach 2015
 
Softjourn ticketing experience
Softjourn ticketing experienceSoftjourn ticketing experience
Softjourn ticketing experience
 
For Engineers
For EngineersFor Engineers
For Engineers
 
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
 
Online Banking 2.0 webinar, October 28, 2010 by Jouk Pleiter
Online Banking 2.0 webinar, October 28, 2010 by Jouk PleiterOnline Banking 2.0 webinar, October 28, 2010 by Jouk Pleiter
Online Banking 2.0 webinar, October 28, 2010 by Jouk Pleiter
 
Future Of Work - GetLinks Service Introduction 2020
Future Of Work - GetLinks Service Introduction 2020Future Of Work - GetLinks Service Introduction 2020
Future Of Work - GetLinks Service Introduction 2020
 
20091203 Presentatie Eurostar V02
20091203 Presentatie Eurostar V0220091203 Presentatie Eurostar V02
20091203 Presentatie Eurostar V02
 
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunitiesThe Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
 
Globsync Technology IT & WEB Services
Globsync Technology IT & WEB ServicesGlobsync Technology IT & WEB Services
Globsync Technology IT & WEB Services
 
Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07
 
Deliver agile flow presentation (1)
Deliver agile   flow presentation (1)Deliver agile   flow presentation (1)
Deliver agile flow presentation (1)
 
Cloud computing: Stan Freck
Cloud computing: Stan FreckCloud computing: Stan Freck
Cloud computing: Stan Freck
 
The Bigger Picture: New Opportunities for the Modern Enterprise
The Bigger Picture: New Opportunities for the Modern EnterpriseThe Bigger Picture: New Opportunities for the Modern Enterprise
The Bigger Picture: New Opportunities for the Modern Enterprise
 
Fédération d’identité : des concepts Théoriques aux études de cas d’implément...
Fédération d’identité : des concepts Théoriques aux études de cas d’implément...Fédération d’identité : des concepts Théoriques aux études de cas d’implément...
Fédération d’identité : des concepts Théoriques aux études de cas d’implément...
 
DevOps as Digital Transformation
DevOps as Digital TransformationDevOps as Digital Transformation
DevOps as Digital Transformation
 
Industrial Presentaion
Industrial Presentaion Industrial Presentaion
Industrial Presentaion
 
SigmaTec Solutions
SigmaTec SolutionsSigmaTec Solutions
SigmaTec Solutions
 

More from Optimizely

Clover Rings Up Digital Growth to Drive Experimentation
Clover Rings Up Digital Growth to Drive ExperimentationClover Rings Up Digital Growth to Drive Experimentation
Clover Rings Up Digital Growth to Drive ExperimentationOptimizely
 
Make Every Touchpoint Count: How to Drive Revenue in an Increasingly Online W...
Make Every Touchpoint Count: How to Drive Revenue in an Increasingly Online W...Make Every Touchpoint Count: How to Drive Revenue in an Increasingly Online W...
Make Every Touchpoint Count: How to Drive Revenue in an Increasingly Online W...Optimizely
 
The Science of Getting Testing Right
The Science of Getting Testing RightThe Science of Getting Testing Right
The Science of Getting Testing RightOptimizely
 
Autotrader Case Study: Migrating from Home-Grown Testing to Best-in-Class Too...
Autotrader Case Study: Migrating from Home-Grown Testing to Best-in-Class Too...Autotrader Case Study: Migrating from Home-Grown Testing to Best-in-Class Too...
Autotrader Case Study: Migrating from Home-Grown Testing to Best-in-Class Too...Optimizely
 
Zillow + Optimizely: Building the Bridge to $20 Billion Revenue
Zillow + Optimizely: Building the Bridge to $20 Billion RevenueZillow + Optimizely: Building the Bridge to $20 Billion Revenue
Zillow + Optimizely: Building the Bridge to $20 Billion RevenueOptimizely
 
Empowering Agents to Provide Service from Anywhere: Contact Centers in the Ti...
Empowering Agents to Provide Service from Anywhere: Contact Centers in the Ti...Empowering Agents to Provide Service from Anywhere: Contact Centers in the Ti...
Empowering Agents to Provide Service from Anywhere: Contact Centers in the Ti...Optimizely
 
Experimentation Everywhere: Create Exceptional Online Shopping Experiences an...
Experimentation Everywhere: Create Exceptional Online Shopping Experiences an...Experimentation Everywhere: Create Exceptional Online Shopping Experiences an...
Experimentation Everywhere: Create Exceptional Online Shopping Experiences an...Optimizely
 
Building an Experiment Pipeline for GitHub’s New Free Team Offering
Building an Experiment Pipeline for GitHub’s New Free Team OfferingBuilding an Experiment Pipeline for GitHub’s New Free Team Offering
Building an Experiment Pipeline for GitHub’s New Free Team OfferingOptimizely
 
Making Your Hypothesis Work Harder to Inform Future Product Strategy
Making Your Hypothesis Work Harder to Inform Future Product StrategyMaking Your Hypothesis Work Harder to Inform Future Product Strategy
Making Your Hypothesis Work Harder to Inform Future Product StrategyOptimizely
 
Kick Your Assumptions: How Scholl's Test-Everything Culture Drives Revenue
Kick Your Assumptions: How Scholl's Test-Everything Culture Drives RevenueKick Your Assumptions: How Scholl's Test-Everything Culture Drives Revenue
Kick Your Assumptions: How Scholl's Test-Everything Culture Drives RevenueOptimizely
 
Experimentation through Clients' Eyes
Experimentation through Clients' EyesExperimentation through Clients' Eyes
Experimentation through Clients' EyesOptimizely
 
The Future of Software Development
The Future of Software DevelopmentThe Future of Software Development
The Future of Software DevelopmentOptimizely
 
Practical Use Case: How Dosh Uses Feature Experiments To Accelerate Mobile De...
Practical Use Case: How Dosh Uses Feature Experiments To Accelerate Mobile De...Practical Use Case: How Dosh Uses Feature Experiments To Accelerate Mobile De...
Practical Use Case: How Dosh Uses Feature Experiments To Accelerate Mobile De...Optimizely
 
Run High Impact Experimentation with High-quality Customer Discovery
Run High Impact Experimentation with High-quality Customer DiscoveryRun High Impact Experimentation with High-quality Customer Discovery
Run High Impact Experimentation with High-quality Customer DiscoveryOptimizely
 
Using Empathy to Build Custom Solutions at Scale
Using Empathy to Build Custom Solutions at ScaleUsing Empathy to Build Custom Solutions at Scale
Using Empathy to Build Custom Solutions at ScaleOptimizely
 
How to find data insights that will drive a 10X impact
How to find data insights that will drive a 10X impact How to find data insights that will drive a 10X impact
How to find data insights that will drive a 10X impact Optimizely
 
Targeted Rollouts: How to Release Features to Multiple Audiences
Targeted Rollouts: How to Release Features to Multiple AudiencesTargeted Rollouts: How to Release Features to Multiple Audiences
Targeted Rollouts: How to Release Features to Multiple AudiencesOptimizely
 
Deploying Fearlessly in a Continuous World
Deploying Fearlessly in a Continuous WorldDeploying Fearlessly in a Continuous World
Deploying Fearlessly in a Continuous WorldOptimizely
 
Detecting incorrectly implemented experiments
Detecting incorrectly implemented experimentsDetecting incorrectly implemented experiments
Detecting incorrectly implemented experimentsOptimizely
 
Move Fast in the Age of Uncertainty
Move Fast in the Age of UncertaintyMove Fast in the Age of Uncertainty
Move Fast in the Age of UncertaintyOptimizely
 

More from Optimizely (20)

Clover Rings Up Digital Growth to Drive Experimentation
Clover Rings Up Digital Growth to Drive ExperimentationClover Rings Up Digital Growth to Drive Experimentation
Clover Rings Up Digital Growth to Drive Experimentation
 
Make Every Touchpoint Count: How to Drive Revenue in an Increasingly Online W...
Make Every Touchpoint Count: How to Drive Revenue in an Increasingly Online W...Make Every Touchpoint Count: How to Drive Revenue in an Increasingly Online W...
Make Every Touchpoint Count: How to Drive Revenue in an Increasingly Online W...
 
The Science of Getting Testing Right
The Science of Getting Testing RightThe Science of Getting Testing Right
The Science of Getting Testing Right
 
Autotrader Case Study: Migrating from Home-Grown Testing to Best-in-Class Too...
Autotrader Case Study: Migrating from Home-Grown Testing to Best-in-Class Too...Autotrader Case Study: Migrating from Home-Grown Testing to Best-in-Class Too...
Autotrader Case Study: Migrating from Home-Grown Testing to Best-in-Class Too...
 
Zillow + Optimizely: Building the Bridge to $20 Billion Revenue
Zillow + Optimizely: Building the Bridge to $20 Billion RevenueZillow + Optimizely: Building the Bridge to $20 Billion Revenue
Zillow + Optimizely: Building the Bridge to $20 Billion Revenue
 
Empowering Agents to Provide Service from Anywhere: Contact Centers in the Ti...
Empowering Agents to Provide Service from Anywhere: Contact Centers in the Ti...Empowering Agents to Provide Service from Anywhere: Contact Centers in the Ti...
Empowering Agents to Provide Service from Anywhere: Contact Centers in the Ti...
 
Experimentation Everywhere: Create Exceptional Online Shopping Experiences an...
Experimentation Everywhere: Create Exceptional Online Shopping Experiences an...Experimentation Everywhere: Create Exceptional Online Shopping Experiences an...
Experimentation Everywhere: Create Exceptional Online Shopping Experiences an...
 
Building an Experiment Pipeline for GitHub’s New Free Team Offering
Building an Experiment Pipeline for GitHub’s New Free Team OfferingBuilding an Experiment Pipeline for GitHub’s New Free Team Offering
Building an Experiment Pipeline for GitHub’s New Free Team Offering
 
Making Your Hypothesis Work Harder to Inform Future Product Strategy
Making Your Hypothesis Work Harder to Inform Future Product StrategyMaking Your Hypothesis Work Harder to Inform Future Product Strategy
Making Your Hypothesis Work Harder to Inform Future Product Strategy
 
Kick Your Assumptions: How Scholl's Test-Everything Culture Drives Revenue
Kick Your Assumptions: How Scholl's Test-Everything Culture Drives RevenueKick Your Assumptions: How Scholl's Test-Everything Culture Drives Revenue
Kick Your Assumptions: How Scholl's Test-Everything Culture Drives Revenue
 
Experimentation through Clients' Eyes
Experimentation through Clients' EyesExperimentation through Clients' Eyes
Experimentation through Clients' Eyes
 
The Future of Software Development
The Future of Software DevelopmentThe Future of Software Development
The Future of Software Development
 
Practical Use Case: How Dosh Uses Feature Experiments To Accelerate Mobile De...
Practical Use Case: How Dosh Uses Feature Experiments To Accelerate Mobile De...Practical Use Case: How Dosh Uses Feature Experiments To Accelerate Mobile De...
Practical Use Case: How Dosh Uses Feature Experiments To Accelerate Mobile De...
 
Run High Impact Experimentation with High-quality Customer Discovery
Run High Impact Experimentation with High-quality Customer DiscoveryRun High Impact Experimentation with High-quality Customer Discovery
Run High Impact Experimentation with High-quality Customer Discovery
 
Using Empathy to Build Custom Solutions at Scale
Using Empathy to Build Custom Solutions at ScaleUsing Empathy to Build Custom Solutions at Scale
Using Empathy to Build Custom Solutions at Scale
 
How to find data insights that will drive a 10X impact
How to find data insights that will drive a 10X impact How to find data insights that will drive a 10X impact
How to find data insights that will drive a 10X impact
 
Targeted Rollouts: How to Release Features to Multiple Audiences
Targeted Rollouts: How to Release Features to Multiple AudiencesTargeted Rollouts: How to Release Features to Multiple Audiences
Targeted Rollouts: How to Release Features to Multiple Audiences
 
Deploying Fearlessly in a Continuous World
Deploying Fearlessly in a Continuous WorldDeploying Fearlessly in a Continuous World
Deploying Fearlessly in a Continuous World
 
Detecting incorrectly implemented experiments
Detecting incorrectly implemented experimentsDetecting incorrectly implemented experiments
Detecting incorrectly implemented experiments
 
Move Fast in the Age of Uncertainty
Move Fast in the Age of UncertaintyMove Fast in the Age of Uncertainty
Move Fast in the Age of Uncertainty
 

Recently uploaded

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 

Recently uploaded (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 

Overcoming Challenges of Experimentation on Service Oriented Architecture

  • 1. Overcoming the Challenges of Experimentation on a Service Oriented Architecture Lupin Campos & Stephen Schwahn September 2020
  • 2. Hi! We are Lupin and Steph :) Lupin Campos Director of Product Growth Tech Startup Founder (Funnely) Software Development Company Founder (Leanbirds & Condiminds) Former Venture Partner @ 500Startups Steph Schwahn Growth Team Tech Lead Tech Startup Founder (Crescendo) Mobile App Development Company Founder (Plutonium Apps) Georgia Tech Alumni, graduated with high honors.
  • 3. So far: - 1 complete backend refactor - 2 frontend refactors - 36 Registration flow experiments (web + fullstack) - 40% Improvement on Registration Conversion Rate
  • 4. 1Let’s Get Into Context A quick note on who we are, what we do, and the challenges that we found in the way.
  • 5. This is our registration Process... Phone Number Role Verification Code Email & Password Child Info Personal Info Sync Bank Acc (Website)
  • 6. ….And here are the services behind it. A simplified version, you don’t want to see the entire thing. Trust us.
  • 7. 1Service Oriented Architectures with Optimizely (the wrong way)
  • 8. Greenlight Financial Technology, Inc. SOA with Optimizely Fullstack on Frontend Web App Marketing Site Mobile App Edge Service 1 Edge Service 2 Nested Service 1 Nested Service 2 Helper Service 1 Backend
  • 9. Greenlight Financial Technology, Inc. SOA with Optimizely Fullstack on Frontend Web App Marketing Site Mobile App Edge Service 1 Edge Service 2 Nested Service 1 Nested Service 2 Helper Service 1 Backend Variant: Variant 1 Variable: FlowId = 6
  • 10. Greenlight Financial Technology, Inc. SOA with Optimizely Fullstack Web App Marketing Site Mobile App Edge Service 1 Edge Service 2 Nested Service 1 Nested Service 2 Helper Service 1 Backend User_id: '1234_4321'
  • 11. Greenlight Financial Technology, Inc. SOA with Optimizely Fullstack Web App Marketing Site Mobile App Edge Service 1 Edge Service 2 Nested Service 1 Nested Service 2 Helper Service 1 Backend User_id: '1234_4321' 30s 40s 400s 200s 5s
  • 12. Greenlight Financial Technology, Inc. SOA with Optimizely Fullstack Web App Marketing Site Mobile App Edge Service 1 Edge Service 2 Nested Service 1 Nested Service 2 Helper Service 1 Backend User_id: '1234_4321' 30s 40s 400s 200s 5s
  • 13. 1Service Oriented Architectures with Optimizely (our way)
  • 14. Greenlight Financial Technology, Inc. Solution: SOA with Optimizely Agent Marketing Site Mobile App Edge Service 1 Edge Service 2 Nested Service 1 Nested Service 2 Helper Service 1 Backend Feature or Experiment Key: 'featureTest’ User_id: '1234_4321' Optimizely Agent 30s Web App
  • 15. Greenlight Financial Technology, Inc. In Practice…. Client 1 Client 2 Client n . . . Ambassador (API Gateway) Pod (3-30 running based on traffic) Optimizely Service (Node.js) Optimizely Agentlocalhost:8080 Datafile sync (every 30s) localhost:3000 Exposes Optimizely Service on service port 80 Service grpc:80 pod-ip:3000 NodeJS Container Go Container (sidecar) Datafile pod-ip:3000pod-ip:3000
  • 16. 1Let’s talk about “User ID” And how do we pass it everywhere!
  • 17. Greenlight Financial Technology, Inc. Used for bucketing MurmurHash(“user_1234”) Rollout to 60%
  • 18. Greenlight Financial Technology, Inc. Used for bucketing MurmurHash(“user_5678”) Rollout to 60%
  • 19. Greenlight Financial Technology, Inc. What if we don’t have the user id? MurmurHash(“steph@greenlight.me”) ? Rollout to 60%
  • 20. Greenlight Financial Technology, Inc. Introducing the Experimentation ID! MurmurHash(“exp_user_1234”) Rollout to 60%
  • 21. 1Introducing Experimentation-ID Service How we keep a consistent user id regardless of context
  • 22. Greenlight Financial Technology, Inc. Experimentation -ID service
  • 23. Greenlight Financial Technology, Inc. Optimizely Service orchestrates
  • 24. Greenlight Financial Technology, Inc. New API Contract! export type Context = UserIdContext | EmailContext | AnonymousIdContext | RegistrationIdContext | DeviceInfoContext export type EmailContext = { email: string } export type AnonymousIdContext = { anonymousId: string } export type DeviceInfoContext = { deviceOs: string, deviceToken: string } export type UserIdContext = { userId: string } export type RegistrationIdContext = { registrationId: string } export function isFeatureEnabled(featureKey: string, context: Context, attributes?: Attributes) export function getEnabledFeatures(context: Context, attributes?: Attributes) ...
  • 25. 1Truly Full Stack Experimentation Through the ENTIRE user journey, from the marketing landing page, through registration services, and all the way to fundamental service primitives