23
The Evolution of Continuous Experimentation in Software Product Development From Data to a Data-driven Organization at Scale Aleksander Fabijan Pavel Dmitriev Helena Holmström Olsson Jan Bosch

The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

TheEvolutionofContinuousExperimentationinSoftware

ProductDevelopmentFromDatatoaData-drivenOrganizationatScale

AleksanderFabijan

PavelDmitriev

HelenaHolmström Olsson

JanBosch

Page 2: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

From Datatoa Data-drivenOrganization atScale

Page 3: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

Howtoevolvecontrolledexperimentationtobecomedata-drivenatscale?

3

?

Page 4: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

KeyLearnings

1. Thejourneyfromacompanywithdatatoadata-drivencompanyatscaleisanevolution.

2. Theexperimentationdoesnotneedtobecomplex(atfirst)!

3. Trustworthinessenablesscalability,andnot theotherwayaround!

4

Page 5: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

Agenda

• Background&Motivation• ResearchMethod• TheExperimentationEvolutionModel

• Crawlstage• Walkstage• Runstage• Flystage

• ConclusionsandQ&A

5

Page 6: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

Background&Motivation

• Softwarecompaniesareincreasinglyaimingtobecomedata-driven.

• Gettingdataiseasy. Gettingdatathatyoucantrust?Not thatmuch...

• Whatcustomerssaytheywant/dodiffersfromwhattheyactuallywant/do.

• Onlineconnectivityofproductsopensnewopportunities tocollectandusedatathatrevealswhatthecustomersactuallywant/do,

• OnlineControlledExperiments(e.g.A/Btests)can enableSoftwareCompaniestomoreaccuratelyidentifywhatdeliversvaluetotheircustomers.

6

Page 7: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

Twist…

• Problem:Experimentationinlargesoftwarecompaniesischallenging.• RunningafewA/Btestsissimple.ScalingExperimentationnotsomuch!• Challengesincludeinstrumentation,dataloss,datapipelines,assumptionviolationsofclassicalstatisticalmethods,findingtherightmetrics,etc.

7

Page 8: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

Problem/Solution

• Problem:Experimentationinlargesoftwarecompaniesischallenging.• RunningafewA/Btestsissimple.ScalingExperimentationnotsomuch!• Challengesincludeinstrumentation,dataloss,datapipelines,assumptionviolationsofclassicalstatisticalmethods,findingtherightmetrics,etc.

• Solution:Weprovidestep-by-stepguidance onhowtodevelop andevolve theexperimentationpractices(technical,organizationalandbusiness).

8

Page 9: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

ResearchMethod

• Inductive case study conducted in collaboration with the Analysis andExperimentation team.

• Data Collection:• The study is based on historical data points (past experiments), and• Complemented with a series of semi-structured interviews, observations,

andmeeting participations.

• Data Analysis:• We grouped the collected data in four buckets, and performed iterative

category development to emerge with the three levels of evolution.

9

Page 10: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

The Experimentation Evolution Model

• Ourmodelprovidesguidanceonhowtobecomedata-drivenatscalethroughtheevolution ofonlinecontrolledexperimentation.

• Weidentifyfourstagesofexperimentationevolution:

• WeidentifythemostimportantR&Dactivitiestofocusonineachofthestagesinordertoadvance.

10

Page 11: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

The Experimentation Evolution Model

11

Page 12: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

The Experimentation Evolution Model

12

Page 13: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

Crawl stage(1xexperimentsyearly)

• Technicalfocus:• Logging ofsignals(clicks,dwelltimes,swipes,etc.)shouldbeimplemented,• Trustworthiness ofcollecteddatashouldbeconsidered(dataquality),• Analysisoftheexperimentresultscanbedonemanually.

• TeamFocus:• Productteamsgainmanagementsupportwiththefirstexperiments.

• Businessfocus:• TheOverallEvaluationCriteriaconsistsofafewkeysignals.

13

Page 14: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

Contextual Bar Experiment

• ExperimentGoal:• Identifywhetherthecontextualcommandbarimproveseditingefficiency.

• ValueHypotheses:• (1)increasedcommonalityandfrequencyofedits,

• (2)increased2-weekretention.• Outcome:

• Theinitialexperimentwasunsuccessfulduetologgingmisconfiguration.

14

Page 15: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

Walkstage(10xexperimentsyearly)

• Technicalfocus:• Startingtodevelop/integrateanexperimentationplatform.• Definingsuccessmetrics,debugmetrics,guardrailmetrics,anddata qualitymetrics,

• Teamfocus:• Productteamdesignsandexecutesexperimentsrelatedtotheirfeatures.

• Businessfocus:• TheOverallEvaluationCriteriainthisstageevolvesfromsignals toastructuredsetofmetrics (guardrail,success,anddata-qualitymetrics)

15

Page 16: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

The “Xbox deals” experiment

16

• ExperimentGoal:• Identifytheimpactofshowingthediscountintheweeklydealsstripe.

• ValueHypotheses:• (1)increasedengagementwiththestripe

• (2)nodecreaseinpurchases.• Outcome:

• TreatmentCincreased bothengagement withthestripeandpurchasesmade.

Page 17: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

Runstage(100xexperimentsyearly)

• Technicalfocus:• Features:alerting,controlofcarryovereffects,experimentiteration,etc.• Learningexperiments:Createcomprehensivemetrics.

• TeamFocus:• Experimentationexpandstootherfeatureteams(andotherproducts),• Teamscreate,executeandmonitorexperiments.

• Businessfocus:• TheOverallEvaluationCriteriaistailoredusingthelearningexperiments.

17

Page 18: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

The “MSN.com personalization” experiment

18

• ExperimentGoal:• IdentifytheimpactofMLsortingofarticlesincomparisontoeditorcuratedarticles.

• ValueHypotheses:• (1)MLcuratedarticlesincreaseengagement

• Outcome:• Atfirst,MLarticlesperformedworsethaneditorcurating.Afterafewiterations thingschanged!

Page 19: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

Flystage(1000+experimentsyearly)

• Technicalfocus:• Features:interactionbetweenexperiments,autonomousshutdown,andanaccumulationofinstitutionalmemory.

• Experimentresultsshouldbecomeintuitive(e.g.greenforgo/redforno-go)• TeamFocus:

• ProductTeamsexperimentwitheveryminorchangeintheportfolio,eventhesmallestbugfixes.

• Businessfocus:• TheOverallEvaluationCriteriaisstable.• OECcanbecomeusedtosettheperformancegoalsforteamsandameasureoftheirsuccess.

19

Page 20: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

Bing Bot Detection Experiment

20

• ExperimentGoal:• Evaluatetheimproveddetectionofbots.

• ValueHypotheses:• (1)Nochangetorealuserexperience,• (2)Fewerresourcesusedtocomputesearchresults.

• Outcome:• ~10%savingoninfrastructureresources.

Page 21: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

21

Page 22: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

Conclusions

1. Thejourney fromacompanywithdatatoadata-drivencompanyatscaleisanevolution:• (1)culture,(2)business,andthe(3)technical capabilities.

2. Theexperimentationstarts‘easy’andbecomeschallenging!• Theneedforamoredetailedtrainingariseswhenmanyexperimentsarebeingexecutedbymanyproductteams• Theneedforamoresophisticatedplatformariseswhenmanyteamsexperimentandinterferewitheachother

1. Trustworthinessenablesscalability,andnot theotherwayaround!

22

Page 23: The Evolution of Continuous Experimentation in Software ... ICSE2017... · The Experimentation Evolution Model •Our model provides guidance on how to become data-driven at scale

23

Thankyou!