continuous delivery and rapid experimentation

62
Continuous Delivery The Path to Rapid Experimentation Paul Coia

Upload: paul-coia

Post on 15-Jan-2015

795 views

Category:

Technology


1 download

DESCRIPTION

A presentation I gave at Agile Australia 2013 on Continuous Delivery

TRANSCRIPT

Page 1: Continuous Delivery and Rapid Experimentation

Continuous Delivery

The Path to Rapid Experimentation

Paul Coia

Page 2: Continuous Delivery and Rapid Experimentation

Deploy

Experiment

Example

Lessons

Page 3: Continuous Delivery and Rapid Experimentation
Page 4: Continuous Delivery and Rapid Experimentation

Global platform for independent artists and designers to sell

their work more easily, more oen.

Page 5: Continuous Delivery and Rapid Experimentation
Page 6: Continuous Delivery and Rapid Experimentation
Page 7: Continuous Delivery and Rapid Experimentation
Page 8: Continuous Delivery and Rapid Experimentation

10M designs on 40M products

500,000 artists all over the world.

40M pageviews from 7M Users/month

Page 9: Continuous Delivery and Rapid Experimentation

Deploy

Experiment

Example

Lessons

Page 10: Continuous Delivery and Rapid Experimentation

2000 releases 4 years

700 in 2012

Average 3 per day

Page 11: Continuous Delivery and Rapid Experimentation

cap production deploy

Page 12: Continuous Delivery and Rapid Experimentation
Page 13: Continuous Delivery and Rapid Experimentation

1. Continuous Integration success

2. Deploy code via Capistrano

3. Monitor vital signs

Page 14: Continuous Delivery and Rapid Experimentation

Jenkins Continuous Integration Server

Page 15: Continuous Delivery and Rapid Experimentation

New Relic Application Monitoring

Page 16: Continuous Delivery and Rapid Experimentation

New Relic Key Transaction Monitoring

Page 17: Continuous Delivery and Rapid Experimentation

AirbrakeError Reporting

Page 18: Continuous Delivery and Rapid Experimentation

Circonus and StatsdBusiness Metrics Monitoring

Page 19: Continuous Delivery and Rapid Experimentation

StatsdClient.increment("Payment OK")

Page 20: Continuous Delivery and Rapid Experimentation

if enrolled_in?(“new”).variant? // show variantelse // show normalend

Page 21: Continuous Delivery and Rapid Experimentation
Page 22: Continuous Delivery and Rapid Experimentation

Minimal cost of deploying

Rapid pace of change possible

Confidence make lots of changes

Try ideas quicker

Why we like it

Page 23: Continuous Delivery and Rapid Experimentation

Deploy

Experiment

Example

Lessons

Page 24: Continuous Delivery and Rapid Experimentation

1.Observe

2.Form a hypothesis

3.Devise an experiment to test it

4.Draw conclusions

Scientific Method

Page 25: Continuous Delivery and Rapid Experimentation

Quantitive Research - What?

Qualitative Research - Why?

Page 26: Continuous Delivery and Rapid Experimentation

“If the SEARCH box was bigger, then users will be more likely to search”

Page 27: Continuous Delivery and Rapid Experimentation
Page 28: Continuous Delivery and Rapid Experimentation
Page 29: Continuous Delivery and Rapid Experimentation
Page 30: Continuous Delivery and Rapid Experimentation
Page 31: Continuous Delivery and Rapid Experimentation

Split users at point of variation

Isolate experiments

Persist the decision across visits

Exclude crawlers and ‘old’ users

Enrollment

Page 32: Continuous Delivery and Rapid Experimentation

// ON LANDING PAGEif new_visitor() @guinea_pig = trueend

// ON EXPERIMENT PAGEif @guinea_pig && !retrieve_enrolment() experiment = enrol_in_experiment(“new”) persist_enrolment(experiment)end

if enrolled_in?(“new”).variant? // experiment logicelse // normal logicend

Page 33: Continuous Delivery and Rapid Experimentation

RUNNING_EXPERIMENTS ={ ... new: {description: 'New feature', enrolment_percent: 20}, ...}

Page 34: Continuous Delivery and Rapid Experimentation

Google AnalyticsData Collection

Page 35: Continuous Delivery and Rapid Experimentation

‘R’ Statistical LanguageGoogle Analytics API

Page 36: Continuous Delivery and Rapid Experimentation
Page 37: Continuous Delivery and Rapid Experimentation

Respect Statistics

Establish your test duration up front

Wait for the test to complete

Results

Page 38: Continuous Delivery and Rapid Experimentation

Model your Product funnel

Greater volume earlier in the funnel

Higher conversion rate between steps

Add lots of instrumentation

Useful metrics

Page 39: Continuous Delivery and Rapid Experimentation

Homepage

Sign up page

Signed up

Page 40: Continuous Delivery and Rapid Experimentation

1%

Homepage

Sign up page

Signed up

Page 41: Continuous Delivery and Rapid Experimentation

1%

Homepage

Sign up page

Signed up

20%

5%

Page 42: Continuous Delivery and Rapid Experimentation

‘Landing Page’ Optimizers

Client-side changes only

Simple experiments

Page 43: Continuous Delivery and Rapid Experimentation

Trivial deployment

Feature toggle

Experimentation platform

= Trivial feature experimentation

Page 44: Continuous Delivery and Rapid Experimentation

Deploy

Experiment

Example

Lessons

Page 45: Continuous Delivery and Rapid Experimentation

22% less likely to Add to Cart

50% less likely to Checkout

Mobile Visitors

Page 46: Continuous Delivery and Rapid Experimentation
Page 47: Continuous Delivery and Rapid Experimentation

No change to Checkout Completion

Page 48: Continuous Delivery and Rapid Experimentation
Page 49: Continuous Delivery and Rapid Experimentation

Improvement in Checkout Completion

Page 50: Continuous Delivery and Rapid Experimentation
Page 51: Continuous Delivery and Rapid Experimentation

Increase in Add to Cart rate

Page 52: Continuous Delivery and Rapid Experimentation
Page 53: Continuous Delivery and Rapid Experimentation

Further Increase in Add to Cart rate

Page 54: Continuous Delivery and Rapid Experimentation

Multiple lightweight experiments

A handful of weeks

Verified 30% increase in Purchasing

Page 55: Continuous Delivery and Rapid Experimentation

Deploy

Experiment

Example

Lessons

Page 56: Continuous Delivery and Rapid Experimentation

Invest in your deployment tools

Page 57: Continuous Delivery and Rapid Experimentation

Experiment on the small scale

Page 58: Continuous Delivery and Rapid Experimentation

Expect to be wrong

Page 59: Continuous Delivery and Rapid Experimentation

Build on the successes

Page 60: Continuous Delivery and Rapid Experimentation

Design for incremental change

Page 61: Continuous Delivery and Rapid Experimentation

Thank YouPaul Coia

[email protected]@pjcoia

h!p://www.redbubble.com/jobs

Page 62: Continuous Delivery and Rapid Experimentation