a case study in metrics-driven devops

29
DT2 Session 6/9/16 11:30 AM A Case Study in Metrics-Driven DevOps Presented by: Ben Vining Electronic Arts Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 888---268---8770 ·· 904---278---0524 - [email protected] - http://www.techwell.com/

Upload: techwell

Post on 28-Jan-2018

57 views

Category:

Software


3 download

TRANSCRIPT

Page 1: A Case Study in Metrics-Driven DevOps

DT2Session6/9/1611:30AM

ACaseStudyinMetrics-DrivenDevOps

Presentedby:

BenVining

ElectronicArts

Broughttoyouby:

350CorporateWay,Suite400,OrangePark,FL32073888---268---8770··[email protected]://www.techwell.com/

Page 2: A Case Study in Metrics-Driven DevOps

BenViningElectronicArtsBenViningisadevelopmentmanagerofaDevOpsteamatVancouver-basedElectronicArts.BenhasworkedongamesforEAfranchisessuchasFIFA,NHL,UFC,andPlantsvs.Zombies.Inapreviouslife,hewasabusinesssystemsanalystwithJELD-WENWindows&DoorsinAustralia,helpingtodevelop,implement,andmaintaintheirin-houseERPsystem.Benbelievesinworkingsmart,takingtimetocelebratewins,andlearningfrommistakes.ThisisBen'sfirsttimepresentingataconference,sopleasegoeasyonhim.YoucanfindhimonLinkedIn.

Page 3: A Case Study in Metrics-Driven DevOps

5/30/16

1

A Case Study in Metrics-Driven DevOps BEN VINING | ELECTRONIC ARTS DEVOPS WEST | JUNE 2016

Overview WHYYOU’REHERE You’reinterestedinusingmetricstoimproveyourteam’s:◦ Performance◦ ReputaDon◦ Happiness

WHATTOEXPECT IntroducDon TheCaseStudy ExampleObjecDves BigBenefits&KeyTakeaways QuesDonTime(attheend)

Page 4: A Case Study in Metrics-Driven DevOps

5/30/16

2

IntroducKon BEN VINING | ELECTRONIC ARTS

IntroducKon – Ben Vining

3years B.Sciencein

InformaDonSystemsUniversityofNewSouthWalesSydney,AU

8years Business

SystemsAnalystJELD-WENWindows&DoorsGoldCoast,AU

3years Development

ManagerElectronicArtsVancouver,CA

Page 5: A Case Study in Metrics-Driven DevOps

5/30/16

3

IntroducKon – Electronic Arts (EA)  ElectronicArtsInc.isaleadingglobalinteracDveentertainmentsoewarecompany.EAdeliversgames,contentandonlineservicesforInternet-connectedconsoles,personalcomputers,mobilephonesandtablets.

The Case Study THE TEAM | WHERE WE WERE | BECOMING METRICS-DRIVEN |

WHERE WE ARE NOW

Page 6: A Case Study in Metrics-Driven DevOps

5/30/16

4

Development & Release Engineering (DRE)  Weprovidebuild&testautomaDonservicestoourcustomers. Ourcustomersaregame,content,andengineteamsatEA. 70staffin6locaDonsaroundtheglobe. Ourvision:EAdeveloperscanworktotheirfullestpotenDal,becauseoursystemstakecareofeverythingelse. Ourmission:makelifesimplerfordevelopers.

Overall Team Structure

Sub-TeamLeads

Leadership

SeniorLeadership GroupDD&TD

DDs&TDs

Canada USA Europe Engine Infra.

Page 7: A Case Study in Metrics-Driven DevOps

5/30/16

5

Sub-Team Structure

Projects

Sub-TeamLeads Canada

1xLarge 4xMedium

4xMedium 6xSmall

Project Structure  Eachcustomeristreatedasauniqueproject

 Manyteam-membersareassignedtoeachproject

 Eachteam-memberisassignedtomanyprojects

 FrequencyofinteracDons(meeDngs,reports,communicaDons,etc.)isdependantonsizeandcultureofthecustomerteam

PointofContact

Leads

AddiDonalSEs

Page 8: A Case Study in Metrics-Driven DevOps

5/30/16

6

Where We Where  WearenowinthefourthyearofourapproachtometricscollecDon&reporDng.

 Beforethat:◦ OurautomaDonsystemsweren’treliableenough.Oneinfivejobswouldfailtoproducemeaningfulresults

◦ Wedidn’tknowwhereourDmewent.Wehadnovisibilityonwhichprojectsdemandedthemosteffortorhowlongwespentonsupport

◦  Itwasnotuncommonforengineerstoleavetoworkonagameteam◦ Wewereasmallerteamworkingacrossthreestudiosandaselectrangeofprojects

Becoming Metrics-Driven

EvaluaDon&EvoluDonLeadership

ImplementaDon&OperaDonSub-TeamLeads

DesignSeniorLeadership

Page 9: A Case Study in Metrics-Driven DevOps

5/30/16

7

Design  CorePillars ObjecDvesDefiniDons ClassificaDon DataPoints Storage SummaryReport

Design – Core Pillars

Healthy Reliable Efficient Responsible

Predictable Responsive InnovaDve Respected

Page 10: A Case Study in Metrics-Driven DevOps

5/30/16

8

Design – ObjecKve DefiniKons

DescripDon Source

Intent Target

Name

ObjecKve – AutomaKon Reliability

Descrip0on:PercentageofautomaDonrunsthataresuccessful

Source:StatsarepulledfromtheautomaDonsystemweekly

Intent:OurautomaDonsystemiscloselymonitoredandmaintained

Target:97%Note:failuresduetothegamecode

countasasuccesstous

AutomaDonReliability

Page 11: A Case Study in Metrics-Driven DevOps

5/30/16

9

ObjecKve – Time Logged

Descrip0on:PercentageofavailableDmeloggedintheDckeDngsystem

Source:StatsarepulledfromtheDckeDngsystemweekly

Intent:WeknowwherewespendourDme

Target:100%(ofsixhoursaday).Note:noneedtolog:meagainstmee:ngsandotherinterrup:ons

TimeLogged

ObjecKve – Team Health Descrip0on:AverageresultsperteammemberfromtheTeam

HealthSurvey

Source:Surveyiscompletedtwiceperyear

Intent:Ourteamishealthy&happy Target:4/5

TeamHealth

Page 12: A Case Study in Metrics-Driven DevOps

5/30/16

10

ObjecKve – External RecogniKon Descrip0on:NumberofDmesour

teamispraisedbycustomers(attheseniorleadershiplevel)

Source:Casesaremanuallyrecordedasrequired

Intent:Ourbrandiswell-respectedaroundthecompany Target:4peryear

ExternalRecogniDon

Design – ObjecKve ClassificaKon

CustomerFacing

InternalOperaDons Strategic

Sub-Team

Page 13: A Case Study in Metrics-Driven DevOps

5/30/16

11

Design – Data Points  Baseline Target Current Previous Currentvs.Target Currentvs.Previous

Design – Storage  TherawdataiscomingfrommulDplesources(automaDonsystem,DckeDngsystem,surveys,etc.)

 WeuseExcelasthecentralstoragelocaDonforourmetrics

 Eachmetrichasatablethatstorestherawdata

 Separateentryforeachsub-team,eachperiod

 Wehaveconsideredusingothertools,butExceldoesthejobandweareallfamiliarwithusingit

Page 14: A Case Study in Metrics-Driven DevOps

5/30/16

12

Design – Summary Report  DisplaystheaggregatedresultsforeachobjecDvewiththedatapointsasdiscussedearlier

Baseline Target Current Previous Currentvs.Target

Currentvs.Previous

Customer

Reliability 95.0% 97.0% 98.1% 95.3% 1.1% 2.8%

TicketAck. 8.0 4.0 4.5 4.8 0.5 -0.3

InternalOps

TeamHealth 3.8 4.0 4.2 3.8 0.2 0.4

ImplementaKon & OperaKon  Training GatherBaselines SprintProcess DataCollecDon FocusedReporDng

Page 15: A Case Study in Metrics-Driven DevOps

5/30/16

13

ImplementaKon – Training  Geteveryoneontheteamon-board◦ Whywearedoingthis?◦ ExpectaDons◦ Workflowchanges◦ Systemchanges

ImplementaKon – Gather Baselines  Beforewestartedregularlyrecordingthemetrics,wefirstgatheredthebaselinestounderstandwherewearenow

 Determiningthebaselinewastrickyforcertainmetrics:◦  Inaccuratetracking◦ Notrackingatall◦ Nofocusonit◦ Dataisthere,butcollecDngitisinefficient

 SDll,havingthesebaselinesmadeiteasytoshowimprovementsearlyintheprocess

Page 16: A Case Study in Metrics-Driven DevOps

5/30/16

14

ImplementaKon – Sprint Process  Sub-teamrunsaweeklysprint

 FibonacciSequence(1,2,3,5)foresDmaDngcomplexityoftasks

 Tasksinthesprintcovertherangeofprojectsthatsub-teamisresponsiblefor

 Onlycommittasksthatwepromisetofinish

 We’reaDevOpsteam–berealisDcinhowmuchworkwecommitto

 Combinedsprintisinternal,i.e.notsharedwithcustomers

ImplementaKon – Sprint Admin (Time) Name Days Hours/Day LoggedHoursAngus 4.5 6 29Julia 4 6 22

Page 17: A Case Study in Metrics-Driven DevOps

5/30/16

15

ImplementaKon – Sprint Admin (Tasks) Name Task Points StatusAngus TASK-1 3 CompleteAngus TASK-2 3 UnderesDmatedJulia TASK-3 5 De-prioriDzedJulia TASK-4 2 Complete

OperaKon – Data CollecKon  Warning:metricsdatacollecDonintroducesoverhead

 Weautomatewhatwecan,butthedatacomesfrommulDplesourcesandismanuallyentered

 It’simportantforeachobjecDvetohaveaclearowner

 ObjecDveowners:justgetinanddoit.Onceyouletitsliponeweek,it’seasytoletitslipagain.Andagain…

Page 18: A Case Study in Metrics-Driven DevOps

5/30/16

16

OperaKon – Focused ReporKng  TheresultsofeachautomaDonrunarestoredinacentraldatabase.

 ThisallowsustocloselymonitortheresultswithfocusedreporDngvia:◦  InteracDveReports◦ TVDashboard◦ DailyAutomatedEmails

Reliability ReporKng – InteracKve Reports AutomaDonReliability

Success GameFail InfraFail

FailureCount

FailureDescrip0on

70 GAME–compileerror20 INFRA–nodiscspace10 INFRA–networkerror

Page 19: A Case Study in Metrics-Driven DevOps

5/30/16

17

Reliability ReporKng – TV Dashboards

Perceived100%

Tests93.1%

Builds98.1%

Reliability ReporKng – Automated Emails

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

ProjectA ProjectB ProjectC ProjectD

TestReliability-Yesterday

Success Failure

Page 20: A Case Study in Metrics-Driven DevOps

5/30/16

18

EvaluaKon & EvoluKon  Sub-TeamReviews

 QuarterlyUpdates AnnualRefresh

EvaluaKon – Sub-Team Reviews  Leadershipmeetsregularly,rotaDngamongstthesub-teams

 Comparecurrentresultsvs.previous&target

 WhatacDonshavebeentakensincethepreviousreview?

 WhatacDonswillbetakeninthefuture?

 Focusisnotnecessarilyonthenumbers,butmoreontheacDons

Page 21: A Case Study in Metrics-Driven DevOps

5/30/16

19

EvaluaKon – Quarterly Updates  Anupdateonthetrendofkeymetricsispresentedintheteam’squarterlytownhallmeeDng

 Followed-upwithemail

91%

92%

93%

94%

95%

96%

97%

98%

99%

100%

Q1 Q2 Q3 Q4

AutomaDonReliability

CAN USA EUR Target

EvoluKon – Annual Refresh  Towardstheendoftheyear,theteamhastheopportunitytoupdatetheobjecDves:◦ AddnewobjecDves◦ RemovestaleobjecDves◦ MoveobjecDvesbetweencore&sub-team◦ Modifytargets◦ Re-baseline

Page 22: A Case Study in Metrics-Driven DevOps

5/30/16

20

Where We Are Now  WearenowinthefourthyearofourapproachtometricscollecDon&reporDng.

 Improvementswe’veseen:◦ OurautomaDonsystemsarereliable.Weregularlyhitourtargetsand97%ofrunsproducemeaningfulresultstothecustomer

◦ WeknowwhereourDmegoes.WecantrackDmespentperproject,type(supportvs.value-add),orarea(builds,test,infrastructure,reporDng,etc.)

◦ Theteamishappyandconsistentlyscoresover4/5intheteamhealthsurvey◦ TheteamhasexpandedtoworkonaddiDonalprojectsinotherstudios

Example ObjecKves OVERVIEW | DETAIL

Page 23: A Case Study in Metrics-Driven DevOps

5/30/16

21

Overview of Example ObjecKves  AutomaDonReliability TimeLogged TeamHealth ExternalRecogniDon CustomerSaDsfacDon BudgetVariance

 TicketAcknowledgement SupportTicketClosure TimeinWork Overhang PlannedWork SupportWork

ObjecKve – Customer SaKsfacKon Descrip0on:AverageresultsperrespondentfromtheCustomer

SaDsfacDonSurvey

Source:Surveyiscompletedtwiceperyear

Intent:Ourcustomersarehappy Target:4/5

CustomerSaDsfacDon

Page 24: A Case Study in Metrics-Driven DevOps

5/30/16

22

ObjecKve – Budget Variance

Descrip0on:Percentagethatwearewithinourbudget

Source:Statsarepulledfromthefinancesystemquarterly

Intent:WesDcktoourbudget Target:0%

BudgetVariance

ObjecKve – Ticket Acknowledgement Descrip0on:AverageDmecustomercreatedDcketsspendinthe‘new’

state

Source:StatsarepulledfromtheTickeDngsystemweekly

Intent:Ourcustomersarepromptlyrespondedto Target:4hours

TicketAcknowledgement

Page 25: A Case Study in Metrics-Driven DevOps

5/30/16

23

ObjecKve – Support Ticket Closure

Descrip0on:AverageDmeittakestoclosesupportDckets

Source:StatsarepulledfromtheTickeDngsystemweekly

Intent:Brokenthingsarefixedpromptly Target:4days

SupportTicketClosure

ObjecKve – Time in Work

Descrip0on:AverageDmeDcketsspendinthe‘inprogress’state

Source:StatsarepulledfromtheTickeDngsystemweekly

Intent:TasksaresizedintoDcketsthatarecompletedinasprint Target:4days

TimeinWork

Page 26: A Case Study in Metrics-Driven DevOps

5/30/16

24

ObjecKve – Overhang Descrip0on:Percentageof

commitedtasksthatareincompleteattheendofasprint

Source:StatsarepulledfromtheDckeDngsystemweekly

Intent:Wecompleteourplannedworkeachweek Target:10%

Overhang

ObjecKve – Planned Work Descrip0on:PercentageofDmespentonthecommitedtasksina

sprint

Source:StatsarepulledfromtheDckeDngsystemweekly

Intent:WemaximizetheDmespentoncommitedtasks Target:40%

PlannedWork

Page 27: A Case Study in Metrics-Driven DevOps

5/30/16

25

ObjecKve – Support Work

Descrip0on:PercentageofDmespentonfixingbrokenthings

Source:StatsarepulledfromtheDckeDngsystemweekly

Intent:WeminimizetheDmespentfixingthings Target:10%

SupportWork

Wrap-Up BIG BENEFITS | KEY TAKEAWAYS | QUESTION TIME

Page 28: A Case Study in Metrics-Driven DevOps

5/30/16

26

Big Benefits

Data-DrivenDecisionMaking

• Wehaveevolvedtomakedecisionsbasedonourdata,ratherthanouremoDons

Confidence

• Wecanvalidatethatwe’reasgoodaswethinkweare

ReputaDon

• Weareseenasateamthathastheirstufftogether

Key Takeaways  BeforeyoudefineindividualobjecDves,considerthecorepillarsofyourteam

 IfindividualsontheteamcannotinfluenceanobjecDve,itshouldn’tbethere

 Don’thavecompeDngobjecDves

 EducatetheexisDngteam&onboardnewstaff

 ThebehavioursthattheobjecDvesdrivearemoreimportantthanthenumbers

Page 29: A Case Study in Metrics-Driven DevOps

5/30/16

27

QuesKon Time PRESENTATIONTITLE ACaseStudyinMetrics-DrivenDevOps

CONTACTINFO BenVining ElectronicArts [email protected]