Engineeringchange
leading a transformation
Mike McGarr
@SonOfGarr
© J. Michael McGarr, 2018
We want devops!
© J. Michael McGarr, 2018
simple,justlearnthis.
© J. Michael McGarr, 2018
LEAN INFRASTRUCTURE AS
CODE
CALMS
KANBAN CONTINUOUS DELIVERY DEMING
MONITORING TEST AUTOMATION THE TOYOTA WAY
CYCLE TIME, LEAD TIME MVP THE PHOENIX PROJECT
MTTR DevOpsDays CONTINUOUS
INTEGRATION
THE THREE WAYS TDD CLOUD
DEPLOYMENT PIPELINES CYNEFIN CULTURE/SILOS
VIRTUALIZATION ACCEPTANCE TESTING
© J. Michael McGarr, 2018
oh,andusethesetools
© J. Michael McGarr, 2018
DOCKER CHEF ANSIBLE NAGIOS
CHAOS MONKEY SPRING CLOUD AZURE PACKER
EUREKA ETCD PUPPET ELASTIC
SEARCH
HYSTRIX DROPWIZARD MONOREPO KIBANA
GIT JENKINS CASSANDRA LOGSTASH
LIQUIBASE SELENIUM CUCUMBER ARTIFACTORY
CONSOL TERRAFORM KUBERNETES SLACK
© J. Michael McGarr, 2018
are you kidding me?
© J. Michael McGarr, 2018
just do it!
© J. Michael McGarr, 2018
Engineeringchange
leading a transformation
Mike McGarr
@SonOfGarr
© J. Michael McGarr, 2018
HowdoIdevops?
© J. Michael McGarr, 2018
HowdoImakea
changewithinmyorganization?© J. Michael McGarr, 2018
build a map
launch a campaign
engineer change
© J. Michael McGarr, 2018
buildamap© J. Michael McGarr, 2018
first, you must understand your
environment
© J. Michael McGarr, 2018
organizational structure
© J. Michael McGarr, 2018
how does change happen?
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
change agents
© J. Michael McGarr, 2018
evangelist
maven
salesman
connector
© J. Michael McGarr, 2018
Who are the change agents?
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
culture© J. Michael McGarr, 2018
culture
© J. Michael McGarr, 2018
people
· who you hire?
· how you hire?
· who you fire?
· how you fire?
· how you train?
· do you train?
© J. Michael McGarr, 2018
Themostimportantpeopletothe
culturearethosewholeave
— Andy Dunn, Creating culture: An imperfect recipe
© J. Michael McGarr, 2018
process
· Institutionalized behaviors
· Ex. - payroll, promotions,
bug tracking
© J. Michael McGarr, 2018
Howheavilydoesyourorganization
relyonprocesstosolveproblems?
© J. Michael McGarr, 2018
tools
· Manifested of organizational
process
· Ex. - spreadsheets, JIRA, TPS
reports
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
valuesand
behavior© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
values
· What are your stated values?
· Do you have unstated
values?
© J. Michael McGarr, 2018
values
· What are your stated values?
· Do you have unstated values?
behavior
· What is expected?
· What is accepted?
· What is rewarded?
© J. Michael McGarr, 2018
How does this relate to change?
© J. Michael McGarr, 2018
scoping a change
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
Example:Versioneverything
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
cost of change varies
© J. Michael McGarr, 2018
launcha
campaign© J. Michael McGarr, 2018
change takes time
© J. Michael McGarr, 2018
changecampaigns
© J. Michael McGarr, 2018
there will be resistance
© J. Michael McGarr, 2018
culturalimmunesystem
© J. Michael McGarr, 2018
start small
© J. Michael McGarr, 2018
thediffusionofinnovation
© J. Michael McGarr, 2018
iterate
© J. Michael McGarr, 2018
iterate
1. plan - set objectives
2. do - execute plan
3. check - measure execution
4. act - improve based on
measurements
© J. Michael McGarr, 2018
plan
© J. Michael McGarr, 2018
identifyyouraudience
© J. Michael McGarr, 2018
motivations
© J. Michael McGarr, 2018
business goals
© J. Michael McGarr, 2018
intrinsicmotivators
· curiosity
· honor
· acceptance
· mastery
· power
· freedom (autonomy)
· relatedness
· order
· goal (purpose)
· status
© J. Michael McGarr, 2018
timing
© J. Michael McGarr, 2018
crisisasacatalyst
© J. Michael McGarr, 2018
do
© J. Michael McGarr, 2018
communication
© J. Michael McGarr, 2018
communicationshould
1. raise awareness
2. get buy-in
3. drive change
© J. Michael McGarr, 2018
beconcise
© J. Michael McGarr, 2018
inonesentence
who
what
when
why
how
© J. Michael McGarr, 2018
multiplechannels
· email
· meetings
· brown bags
· posters
· system messages
© J. Michael McGarr, 2018
repeat
repeat
repeat
© J. Michael McGarr, 2018
don'tunderestimatethepowerof
language© J. Michael McGarr, 2018
avoidbuzzwords
· devops
· continuous delivery
· agile
· test driven development
© J. Michael McGarr, 2018
avoidbuzzwords
· reduce time to market
· improve availability
· increase engineering velocity
· reduce lead time
· reduce delivery costs
© J. Michael McGarr, 2018
check
© J. Michael McGarr, 2018
How do we know when we are done?
© J. Michael McGarr, 2018
measurablegoals
· reduce time to market
· improve availability
· increase engineering velocity
· reduce lead time
· reduce delivery costs
© J. Michael McGarr, 2018
visualizeprogress
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
act
© J. Michael McGarr, 2018
evolveyourmessage
© J. Michael McGarr, 2018
"Wanted:betatesters"
© J. Michael McGarr, 2018
"productionready"
© J. Michael McGarr, 2018
"acureforwhatailsye"
© J. Michael McGarr, 2018
"deprecationwarning:theendisnigh!"
© J. Michael McGarr, 2018
"youarethelasttogo"
© J. Michael McGarr, 2018
"let'shelpyoufinish"
© J. Michael McGarr, 2018
engineering
change© J. Michael McGarr, 2018
anengineer'sperspectiveon
change© J. Michael McGarr, 2018
tools, agents of change
making change easy
© J. Michael McGarr, 2018
tools,agentsofchange
© J. Michael McGarr, 2018
culture
© J. Michael McGarr, 2018
changingculture
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
Train well
Hire well
Fire well
© J. Michael McGarr, 2018
culturechangeisa
outcome,notagoal
© J. Michael McGarr, 2018
makingchangeeasy
© J. Michael McGarr, 2018
change takes time
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
© J. Michael McGarr, 2018
reducethecostofchange
© J. Michael McGarr, 2018
Example - deprecate a logging library
© J. Michael McGarr, 2018
3000 Git repositories
1-2 weeks effort per repo
~240,000peoplehours
© J. Michael McGarr, 2018
2years
© J. Michael McGarr, 2018
1. find all git repos
2. convert all code to AST
3. find the variety of calls to logging library
4. transform all code to call new logging library
5. issue pull requests to all git repos
6. automate testing for every pull request
© J. Michael McGarr, 2018
3000 Git repositories
1 engineer for 3 months
1 day effort per repo
~12,480peoplehours
© J. Michael McGarr, 2018
2months
© J. Michael McGarr, 2018
build a map
launch a campaign
engineer change
© J. Michael McGarr, 2018
organizational
change
management© J. Michael McGarr, 2018
changeistheonlyconstant
© J. Michael McGarr, 2018
QuestionsMike McGarr
@SonOfGarr
mmcgarr at netflix dot com
© J. Michael McGarr, 2018

Engineering change: leading a transformation