SlideShare a Scribd company logo
Improving the Development Process
with Metrics-Driven Insights
oscon.indeed.tech | @IndeedEng | github.com/indeedeng
Hi, I’m Jack.
Jack Humphrey, VP Engineering
go.indeed.com/jack | @youknowjack
60 countries
30 languages
200M unique visitors
20M jobs
Offices around the world
4
5
New York
Stamford
Toronto
São Paulo
Austin
Seattle
San Mateo
San Francisco
Dublin
London Amsterdam
Dusseldorf
Paris
Hyderabad
Bangalore
Singapore
Sydney
Tokyo
Zurich
Brussels
Scottsdale
Engineering offices
4
5
Austin
Seattle
San Francisco
Hyderabad
Tokyo
Indeed Engineering: move fast and try things
Don’t bet on a small number of “great ideas”
Bet on exploring lots of ideas as quickly as possible
Exploring lots of ideas as quickly as possible
1 Hire great people
2 Give them ownership and autonomy
3 Develop great tools
We’ve open sourced two of these tools
Proctor
A/B Testing Framework
Imhotep
Data Analytics Platform
http://oscon.indeed.tech
- Enables rapid exploration & analysis of large time-series datasets
- Query language (IQL), web UI, and distributed backend
Imhotep: data analytics platform
fastefficientscalable
github.com/indeedeng/imhotep
Up to 5 million queries/week at Indeed across ~1500 datasets
Most popular dataset has 39B events over the last year
- Last 30 days: 25K distinct queries invoked 2.2M times by over 1200 users
- ~95% of invocations are by a few automated users
Imhotep: scalable, efficient, fast
Most popular dataset: 39B events, 384 fields
- 5.7TB on disk (146 bytes/event)
No need to sample — use all the data
Imhotep: scalable, efficient, fast
Most popular dataset: queried 2.2M times in last 30 days
- Median response time 159 milliseconds
- 95% of queries < 2 seconds
- Median uncached response time 5.7 seconds
- Median response time, uncached 365-day queries: 37s
Imhotep: scalable, efficient, fast
These tools enable our approach to development
Deliver
MeasureLearn
We can use this approach to improve our processes
01 Measure everything
02 Ask lots of questions in order to learn
03 Based on those learnings, make changes (deliver)
04 Then measure to confirm improvement
01 Measure everything
02 Ask lots of questions in order to learn
03 Based on those learnings, make changes (deliver)
04 Then measure to confirm improvement
We can use this approach to help people improve
Is measuring process and people a good idea?
* proceed with caution
Yes.*
Goodhart’s Law
When a measure becomes a target,
it ceases to be a good measure.
“I am not
a number.”
Measures aren’t inherently bad…
it’s how you use them.
The metrics should serve the team.
The team shouldn’t serve the metrics.
Process improvement: an example
Measure
LearnDeliver
- Everything that happens in our products
- Everything that happens in our process
- Git commits
- JIRA issue updates
- production deploys
- wiki edits
- and more...
Measure (a.k.a. “put it in Imhotep”)
- We translate each string change or new string to 30 languages.
- We use a custom JIRA issue type to track: 1 per language.
- Verification has been historically tedious...
- So let’s measure how long we spend verifying translations.
Process improvement example: translation verification
from jiraactions 2017-01-08 2017-04-02
where issuetype = 'Translation' AND
prevstatus = 'Pending Verification' AND
status != 'Pending Verification' AND
project = 'LOREM'
group by time(1d)
select timeinstate/86400 /* days pending */
How long are translations in “Pending Verification”?
from jiraactions 2017-01-08 2017-04-02
where issuetype = 'Translation' AND
prevstatus = 'Pending Verification' AND
status != 'Pending Verification' AND
project = 'LOREM'
group by time(1d)
select timeinstate/86400 /* days pending */
How long are translations in “Pending Verification”?
from jiraactions 2017-01-08 2017-04-02
where issuetype = 'Translation' AND
prevstatus = 'Pending Verification' AND
status != 'Pending Verification' AND
project = 'LOREM'
group by time(1d)
select timeinstate/86400 /* days pending */
How long are translations in “Pending Verification”?
from jiraactions 2017-01-08 2017-04-02
where issuetype = 'Translation' AND
prevstatus = 'Pending Verification' AND
status != 'Pending Verification' AND
project = 'LOREM'
group by time(1d)
select timeinstate/86400 /* days pending */
How long are translations in “Pending Verification”?
from jiraactions 2017-01-08 2017-04-02
where issuetype = 'Translation' AND
prevstatus = 'Pending Verification' AND
status != 'Pending Verification' AND
project = 'LOREM'
group by time(1d)
select timeinstate/86400 /* days pending */
How long are translations in “Pending Verification”?
Verification time is adding up
- Can we dig into the data to better understand it?
- What other information is needed to interpret?
- What are the sources of noise?
- Do we need to iterate on the measurement itself before it is
generally useful?
Be skeptical and question all measurements.
from jiraactions 2017-01-07 2017-04-29
where issuetype='Translation' AND
prevstatus='Pending Verification' AND
status != 'Pending Verification' AND
project = 'LOREM'
group by time(1d)
select distinct(issuekey) /* number of issues */
What’s the issue volume over that timeframe?
What’s the issue volume over that timeframe?
What’s the cumulative issue volume over that timeframe?
18
329
- Good measurements + good questions = learning
- We now have a measurement that supports our hypothesis, and
we can prioritize improvement.
Learn and prioritize
- Better way: deploy translations separate from code
- Does new process reduce verification time?
- Project “LOREM”: old process
- Project “IPSUM”: new process
Translation verification: there is a better way
from jiraactions 2016-09-15 2017-02-28
where issuetype = 'Translation' AND
prevstatus = 'Pending Verification' AND
status != 'Pending Verification'
group by project in ('LOREM','IPSUM')
select percentile(timeinstate, 90)
Let’s look at 90th percentile time in “Pending Verification”
The new process does look faster!
Worth implementing in LOREM, then we’ll measure again
12 days
1.8 days
Helping people improve with metrics
Guard against Goodhart’s law
1 We use hindsight as a starting point for discussion
2 We constantly remind ourselves: don’t treat as targets.
Resolved: 100, Reopened: 30
- “Productive, but attempting to ship a lot of buggy code”
Be skeptical. Dig into data.
- Only 10 actual bugs
Conversation can produce new ideas for individual and team
Example conversation: how’s my quality?
Measure, question, and learn.
It can work for process and people.
Tracking the Issue Tracker
Hi, I’m Kevin.
Kevin Binswanger, Software Engineer
Known unknowns: quality
1 Reopens
2 Escaped bugs
3 Time and Severity
Known unknowns: engagement
1 How many committers
2 How much they are committing
3 Bus Factor
Known unknowns: velocity
1 Committed > Reviewed > Verified
2 Inside the team vs Outside the team
3 Places we can automate
Imhotep
Dataset
Builder
JIRA
REST API
TSV
Upload
Imhotep
Dataset
January 1, 2016 to May 1, 2017
3.9 million actions
January 1, 2016 to May 1, 2017
1.6 million actions
#4 will surprise you!
We Imported All the Activity from the Apache JIRA
Instance, You’ll Never Believe What Happened Next!
http://go.indeed.com/apachejira
Share what you learn about Apache projects:
Tweet @IndeedEng with #imhotep #apache
http://go.indeed.com/apachejira
Questions?
Share what you learn about Apache projects:
Tweet @IndeedEng with #imhotep #apache
http://go.indeed.com/apachejira
oscon.indeed.tech | @IndeedEng | github.com/indeedeng

More Related Content

What's hot

LKCE18 Nicolas Brown - Coaching in a data-driven world
LKCE18 Nicolas Brown - Coaching in a data-driven worldLKCE18 Nicolas Brown - Coaching in a data-driven world
LKCE18 Nicolas Brown - Coaching in a data-driven world
Lean Kanban Central Europe
 
A/B testing, optimization and results analysis by Mariia Bocheva, ATD'18
A/B testing, optimization and results analysis by Mariia Bocheva, ATD'18A/B testing, optimization and results analysis by Mariia Bocheva, ATD'18
A/B testing, optimization and results analysis by Mariia Bocheva, ATD'18
Mariia Bocheva
 
Master the Essentials of Conversion Optimization
Master the Essentials of Conversion OptimizationMaster the Essentials of Conversion Optimization
Master the Essentials of Conversion Optimization
joshuapaulharper
 
[CXL Live 16] SaaS Optimization - Effective Metrics, Process and Hacks by Ste...
[CXL Live 16] SaaS Optimization - Effective Metrics, Process and Hacks by Ste...[CXL Live 16] SaaS Optimization - Effective Metrics, Process and Hacks by Ste...
[CXL Live 16] SaaS Optimization - Effective Metrics, Process and Hacks by Ste...
CXL
 
EVOLVE & DISRUPT (Agileee 2015)
EVOLVE & DISRUPT (Agileee 2015) EVOLVE & DISRUPT (Agileee 2015)
EVOLVE & DISRUPT (Agileee 2015)
Arthur Lokaychuk
 
Rinse and Repeat : The Spiral of Applied Machine Learning
Rinse and Repeat : The Spiral of Applied Machine LearningRinse and Repeat : The Spiral of Applied Machine Learning
Rinse and Repeat : The Spiral of Applied Machine Learning
Anna Chaney
 
Business analysis1.9 - business side
Business analysis1.9 - business sideBusiness analysis1.9 - business side
Business analysis1.9 - business side
Anton Galitskiy
 
Test & Learn: The Alchemy & Science of Product Metrics - Choosing Metrics Tha...
Test & Learn: The Alchemy & Science of Product Metrics - Choosing Metrics Tha...Test & Learn: The Alchemy & Science of Product Metrics - Choosing Metrics Tha...
Test & Learn: The Alchemy & Science of Product Metrics - Choosing Metrics Tha...
Optimizely
 
Rediscover Exploratory Testing
Rediscover Exploratory TestingRediscover Exploratory Testing
Rediscover Exploratory Testing
TechWell
 
Leveraging Analytics In Gaming - Tiny Mogul Games
Leveraging Analytics In Gaming - Tiny Mogul GamesLeveraging Analytics In Gaming - Tiny Mogul Games
Leveraging Analytics In Gaming - Tiny Mogul Games
InMobi
 
How to Increase Your Testing Success by Combining Qualitative and Quantitativ...
How to Increase Your Testing Success by Combining Qualitative and Quantitativ...How to Increase Your Testing Success by Combining Qualitative and Quantitativ...
How to Increase Your Testing Success by Combining Qualitative and Quantitativ...
Optimizely
 
[CXL Live 16] Growth Hacking BS: Fixing Marketing One Truth at a Time by Morg...
[CXL Live 16] Growth Hacking BS: Fixing Marketing One Truth at a Time by Morg...[CXL Live 16] Growth Hacking BS: Fixing Marketing One Truth at a Time by Morg...
[CXL Live 16] Growth Hacking BS: Fixing Marketing One Truth at a Time by Morg...
CXL
 
Agile 2014 Software Moneyball (Troy Magennis)
Agile 2014   Software Moneyball (Troy Magennis)Agile 2014   Software Moneyball (Troy Magennis)
Agile 2014 Software Moneyball (Troy Magennis)
Troy Magennis
 
Outcome Over Output - And why should we care?
Outcome Over Output - And why should we care?Outcome Over Output - And why should we care?
Outcome Over Output - And why should we care?
Scrum Australia Pty Ltd
 
A/B Testing and the Infinite Monkey Theory
A/B Testing and the Infinite Monkey TheoryA/B Testing and the Infinite Monkey Theory
A/B Testing and the Infinite Monkey Theory
UseItBetter
 
Opticon 2017 Experimenting with Stats Engine
Opticon 2017 Experimenting with Stats EngineOpticon 2017 Experimenting with Stats Engine
Opticon 2017 Experimenting with Stats Engine
Optimizely
 
Optimizely Workshop: Take Action on Results with Statistics
Optimizely Workshop: Take Action on Results with StatisticsOptimizely Workshop: Take Action on Results with Statistics
Optimizely Workshop: Take Action on Results with Statistics
Optimizely
 
Quality, Testing & Agile Methodologies
Quality, Testing & Agile MethodologiesQuality, Testing & Agile Methodologies
Quality, Testing & Agile Methodologies
Johan Hoberg
 
DOES 2016 Sciencing the Crap Out of DevOps
DOES 2016 Sciencing the Crap Out of DevOpsDOES 2016 Sciencing the Crap Out of DevOps
DOES 2016 Sciencing the Crap Out of DevOps
Nicole Forsgren
 
2014 Micro Experiments with Google Tools by Luigi Reggiani
2014 Micro Experiments with Google Tools by Luigi Reggiani2014 Micro Experiments with Google Tools by Luigi Reggiani
2014 Micro Experiments with Google Tools by Luigi Reggiani
European Innovation Academy
 

What's hot (20)

LKCE18 Nicolas Brown - Coaching in a data-driven world
LKCE18 Nicolas Brown - Coaching in a data-driven worldLKCE18 Nicolas Brown - Coaching in a data-driven world
LKCE18 Nicolas Brown - Coaching in a data-driven world
 
A/B testing, optimization and results analysis by Mariia Bocheva, ATD'18
A/B testing, optimization and results analysis by Mariia Bocheva, ATD'18A/B testing, optimization and results analysis by Mariia Bocheva, ATD'18
A/B testing, optimization and results analysis by Mariia Bocheva, ATD'18
 
Master the Essentials of Conversion Optimization
Master the Essentials of Conversion OptimizationMaster the Essentials of Conversion Optimization
Master the Essentials of Conversion Optimization
 
[CXL Live 16] SaaS Optimization - Effective Metrics, Process and Hacks by Ste...
[CXL Live 16] SaaS Optimization - Effective Metrics, Process and Hacks by Ste...[CXL Live 16] SaaS Optimization - Effective Metrics, Process and Hacks by Ste...
[CXL Live 16] SaaS Optimization - Effective Metrics, Process and Hacks by Ste...
 
EVOLVE & DISRUPT (Agileee 2015)
EVOLVE & DISRUPT (Agileee 2015) EVOLVE & DISRUPT (Agileee 2015)
EVOLVE & DISRUPT (Agileee 2015)
 
Rinse and Repeat : The Spiral of Applied Machine Learning
Rinse and Repeat : The Spiral of Applied Machine LearningRinse and Repeat : The Spiral of Applied Machine Learning
Rinse and Repeat : The Spiral of Applied Machine Learning
 
Business analysis1.9 - business side
Business analysis1.9 - business sideBusiness analysis1.9 - business side
Business analysis1.9 - business side
 
Test & Learn: The Alchemy & Science of Product Metrics - Choosing Metrics Tha...
Test & Learn: The Alchemy & Science of Product Metrics - Choosing Metrics Tha...Test & Learn: The Alchemy & Science of Product Metrics - Choosing Metrics Tha...
Test & Learn: The Alchemy & Science of Product Metrics - Choosing Metrics Tha...
 
Rediscover Exploratory Testing
Rediscover Exploratory TestingRediscover Exploratory Testing
Rediscover Exploratory Testing
 
Leveraging Analytics In Gaming - Tiny Mogul Games
Leveraging Analytics In Gaming - Tiny Mogul GamesLeveraging Analytics In Gaming - Tiny Mogul Games
Leveraging Analytics In Gaming - Tiny Mogul Games
 
How to Increase Your Testing Success by Combining Qualitative and Quantitativ...
How to Increase Your Testing Success by Combining Qualitative and Quantitativ...How to Increase Your Testing Success by Combining Qualitative and Quantitativ...
How to Increase Your Testing Success by Combining Qualitative and Quantitativ...
 
[CXL Live 16] Growth Hacking BS: Fixing Marketing One Truth at a Time by Morg...
[CXL Live 16] Growth Hacking BS: Fixing Marketing One Truth at a Time by Morg...[CXL Live 16] Growth Hacking BS: Fixing Marketing One Truth at a Time by Morg...
[CXL Live 16] Growth Hacking BS: Fixing Marketing One Truth at a Time by Morg...
 
Agile 2014 Software Moneyball (Troy Magennis)
Agile 2014   Software Moneyball (Troy Magennis)Agile 2014   Software Moneyball (Troy Magennis)
Agile 2014 Software Moneyball (Troy Magennis)
 
Outcome Over Output - And why should we care?
Outcome Over Output - And why should we care?Outcome Over Output - And why should we care?
Outcome Over Output - And why should we care?
 
A/B Testing and the Infinite Monkey Theory
A/B Testing and the Infinite Monkey TheoryA/B Testing and the Infinite Monkey Theory
A/B Testing and the Infinite Monkey Theory
 
Opticon 2017 Experimenting with Stats Engine
Opticon 2017 Experimenting with Stats EngineOpticon 2017 Experimenting with Stats Engine
Opticon 2017 Experimenting with Stats Engine
 
Optimizely Workshop: Take Action on Results with Statistics
Optimizely Workshop: Take Action on Results with StatisticsOptimizely Workshop: Take Action on Results with Statistics
Optimizely Workshop: Take Action on Results with Statistics
 
Quality, Testing & Agile Methodologies
Quality, Testing & Agile MethodologiesQuality, Testing & Agile Methodologies
Quality, Testing & Agile Methodologies
 
DOES 2016 Sciencing the Crap Out of DevOps
DOES 2016 Sciencing the Crap Out of DevOpsDOES 2016 Sciencing the Crap Out of DevOps
DOES 2016 Sciencing the Crap Out of DevOps
 
2014 Micro Experiments with Google Tools by Luigi Reggiani
2014 Micro Experiments with Google Tools by Luigi Reggiani2014 Micro Experiments with Google Tools by Luigi Reggiani
2014 Micro Experiments with Google Tools by Luigi Reggiani
 

Similar to Improving the development process with metrics driven insights presentation

A Lean Tour of Lean Software Development
A Lean Tour of Lean Software DevelopmentA Lean Tour of Lean Software Development
A Lean Tour of Lean Software Development
TechWell
 
Lean Startup for AaltoES Summer of Startups
Lean Startup for AaltoES Summer of StartupsLean Startup for AaltoES Summer of Startups
Lean Startup for AaltoES Summer of Startups
Marko Taipale
 
Process Evolution and Product Maturity
Process Evolution and Product MaturityProcess Evolution and Product Maturity
Process Evolution and Product Maturity
QAware GmbH
 
Lean Security
Lean SecurityLean Security
Lean Security
Ben Johnson
 
Behind the Curtain: Real-world HR Tech Implementations and What You Need to ...
Behind the Curtain: Real-world HR Tech Implementations and What You Need to  ...Behind the Curtain: Real-world HR Tech Implementations and What You Need to  ...
Behind the Curtain: Real-world HR Tech Implementations and What You Need to ...
bhropen
 
#NoEstimates - Stop lying to yourself and your customers, and stop estimating
#NoEstimates - Stop lying to yourself and your customers, and stop estimating#NoEstimates - Stop lying to yourself and your customers, and stop estimating
#NoEstimates - Stop lying to yourself and your customers, and stop estimating
gerardbeckerleg
 
2019 Top Lessons Learned Since the Phoenix Project Was Released
2019 Top Lessons Learned Since the Phoenix Project Was Released2019 Top Lessons Learned Since the Phoenix Project Was Released
2019 Top Lessons Learned Since the Phoenix Project Was Released
Gene Kim
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
Gopi Raghavendra
 
Amp Up Your Testing by Harnessing Test Data
Amp Up Your Testing by Harnessing Test DataAmp Up Your Testing by Harnessing Test Data
Amp Up Your Testing by Harnessing Test Data
TechWell
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
Brian Henerey
 
Flow efficiency - a digital operations strategy
Flow efficiency - a digital operations strategyFlow efficiency - a digital operations strategy
Flow efficiency - a digital operations strategy
Marcio Sete
 
Spa2010 uSwitch
Spa2010 uSwitchSpa2010 uSwitch
Spa2010 uSwitch
markdurrand
 
Testing – Why We Do It Badly2
Testing – Why We Do It Badly2Testing – Why We Do It Badly2
Testing – Why We Do It Badly2
adevney
 
DevSecCon Keynote
DevSecCon KeynoteDevSecCon Keynote
DevSecCon Keynote
Shannon Lietz
 
DevSecCon KeyNote London 2015
DevSecCon KeyNote London 2015DevSecCon KeyNote London 2015
DevSecCon KeyNote London 2015
Shannon Lietz
 
Delight Your Customers: The #noestimates Way
Delight Your Customers: The #noestimates WayDelight Your Customers: The #noestimates Way
Delight Your Customers: The #noestimates Way
troytuttle
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
dev2ops
 
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
Gene Kim
 
Michael Bolton - Two Futures of Software Testing
Michael Bolton - Two Futures of Software TestingMichael Bolton - Two Futures of Software Testing
Michael Bolton - Two Futures of Software Testing
TEST Huddle
 
Owasp summit debrief v1.0 (jun 2017)
Owasp summit debrief v1.0 (jun 2017)Owasp summit debrief v1.0 (jun 2017)
Owasp summit debrief v1.0 (jun 2017)
owaspsummit
 

Similar to Improving the development process with metrics driven insights presentation (20)

A Lean Tour of Lean Software Development
A Lean Tour of Lean Software DevelopmentA Lean Tour of Lean Software Development
A Lean Tour of Lean Software Development
 
Lean Startup for AaltoES Summer of Startups
Lean Startup for AaltoES Summer of StartupsLean Startup for AaltoES Summer of Startups
Lean Startup for AaltoES Summer of Startups
 
Process Evolution and Product Maturity
Process Evolution and Product MaturityProcess Evolution and Product Maturity
Process Evolution and Product Maturity
 
Lean Security
Lean SecurityLean Security
Lean Security
 
Behind the Curtain: Real-world HR Tech Implementations and What You Need to ...
Behind the Curtain: Real-world HR Tech Implementations and What You Need to  ...Behind the Curtain: Real-world HR Tech Implementations and What You Need to  ...
Behind the Curtain: Real-world HR Tech Implementations and What You Need to ...
 
#NoEstimates - Stop lying to yourself and your customers, and stop estimating
#NoEstimates - Stop lying to yourself and your customers, and stop estimating#NoEstimates - Stop lying to yourself and your customers, and stop estimating
#NoEstimates - Stop lying to yourself and your customers, and stop estimating
 
2019 Top Lessons Learned Since the Phoenix Project Was Released
2019 Top Lessons Learned Since the Phoenix Project Was Released2019 Top Lessons Learned Since the Phoenix Project Was Released
2019 Top Lessons Learned Since the Phoenix Project Was Released
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
 
Amp Up Your Testing by Harnessing Test Data
Amp Up Your Testing by Harnessing Test DataAmp Up Your Testing by Harnessing Test Data
Amp Up Your Testing by Harnessing Test Data
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Flow efficiency - a digital operations strategy
Flow efficiency - a digital operations strategyFlow efficiency - a digital operations strategy
Flow efficiency - a digital operations strategy
 
Spa2010 uSwitch
Spa2010 uSwitchSpa2010 uSwitch
Spa2010 uSwitch
 
Testing – Why We Do It Badly2
Testing – Why We Do It Badly2Testing – Why We Do It Badly2
Testing – Why We Do It Badly2
 
DevSecCon Keynote
DevSecCon KeynoteDevSecCon Keynote
DevSecCon Keynote
 
DevSecCon KeyNote London 2015
DevSecCon KeyNote London 2015DevSecCon KeyNote London 2015
DevSecCon KeyNote London 2015
 
Delight Your Customers: The #noestimates Way
Delight Your Customers: The #noestimates WayDelight Your Customers: The #noestimates Way
Delight Your Customers: The #noestimates Way
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
 
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
 
Michael Bolton - Two Futures of Software Testing
Michael Bolton - Two Futures of Software TestingMichael Bolton - Two Futures of Software Testing
Michael Bolton - Two Futures of Software Testing
 
Owasp summit debrief v1.0 (jun 2017)
Owasp summit debrief v1.0 (jun 2017)Owasp summit debrief v1.0 (jun 2017)
Owasp summit debrief v1.0 (jun 2017)
 

More from indeedeng

Alchemy and Science: Choosing Metrics That Work
Alchemy and Science: Choosing Metrics That WorkAlchemy and Science: Choosing Metrics That Work
Alchemy and Science: Choosing Metrics That Work
indeedeng
 
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
indeedeng
 
Automation and Developer Infrastructure — Empowering Engineers to Move from I...
Automation and Developer Infrastructure — Empowering Engineers to Move from I...Automation and Developer Infrastructure — Empowering Engineers to Move from I...
Automation and Developer Infrastructure — Empowering Engineers to Move from I...
indeedeng
 
@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day
@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day
@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day
indeedeng
 
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
indeedeng
 
Data Day Texas - Recommendations
Data Day Texas - RecommendationsData Day Texas - Recommendations
Data Day Texas - Recommendations
indeedeng
 
Vectorized VByte Decoding
Vectorized VByte DecodingVectorized VByte Decoding
Vectorized VByte Decoding
indeedeng
 
[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop
indeedeng
 
@IndeedEng: Tokens and Millicents - technical challenges in launching Indeed...
@IndeedEng:  Tokens and Millicents - technical challenges in launching Indeed...@IndeedEng:  Tokens and Millicents - technical challenges in launching Indeed...
@IndeedEng: Tokens and Millicents - technical challenges in launching Indeed...
indeedeng
 
[@IndeedEng] Large scale interactive analytics with Imhotep
[@IndeedEng] Large scale interactive analytics with Imhotep[@IndeedEng] Large scale interactive analytics with Imhotep
[@IndeedEng] Large scale interactive analytics with Imhotep
indeedeng
 
[@IndeedEng] Logrepo: Enabling Data-Driven Decisions
[@IndeedEng] Logrepo: Enabling Data-Driven Decisions[@IndeedEng] Logrepo: Enabling Data-Driven Decisions
[@IndeedEng] Logrepo: Enabling Data-Driven Decisions
indeedeng
 
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol [@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
indeedeng
 
[@IndeedEng Talk] Diving deeper into data-driven product design
[@IndeedEng Talk] Diving deeper into data-driven product design[@IndeedEng Talk] Diving deeper into data-driven product design
[@IndeedEng Talk] Diving deeper into data-driven product design
indeedeng
 
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
indeedeng
 
[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...
[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...
[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...
indeedeng
 
[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters
indeedeng
 
[@IndeedEng] Building Indeed Resume Search
[@IndeedEng] Building Indeed Resume Search[@IndeedEng] Building Indeed Resume Search
[@IndeedEng] Building Indeed Resume Search
indeedeng
 
[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System
[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System
[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System
indeedeng
 

More from indeedeng (18)

Alchemy and Science: Choosing Metrics That Work
Alchemy and Science: Choosing Metrics That WorkAlchemy and Science: Choosing Metrics That Work
Alchemy and Science: Choosing Metrics That Work
 
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
 
Automation and Developer Infrastructure — Empowering Engineers to Move from I...
Automation and Developer Infrastructure — Empowering Engineers to Move from I...Automation and Developer Infrastructure — Empowering Engineers to Move from I...
Automation and Developer Infrastructure — Empowering Engineers to Move from I...
 
@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day
@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day
@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day
 
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
 
Data Day Texas - Recommendations
Data Day Texas - RecommendationsData Day Texas - Recommendations
Data Day Texas - Recommendations
 
Vectorized VByte Decoding
Vectorized VByte DecodingVectorized VByte Decoding
Vectorized VByte Decoding
 
[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop
 
@IndeedEng: Tokens and Millicents - technical challenges in launching Indeed...
@IndeedEng:  Tokens and Millicents - technical challenges in launching Indeed...@IndeedEng:  Tokens and Millicents - technical challenges in launching Indeed...
@IndeedEng: Tokens and Millicents - technical challenges in launching Indeed...
 
[@IndeedEng] Large scale interactive analytics with Imhotep
[@IndeedEng] Large scale interactive analytics with Imhotep[@IndeedEng] Large scale interactive analytics with Imhotep
[@IndeedEng] Large scale interactive analytics with Imhotep
 
[@IndeedEng] Logrepo: Enabling Data-Driven Decisions
[@IndeedEng] Logrepo: Enabling Data-Driven Decisions[@IndeedEng] Logrepo: Enabling Data-Driven Decisions
[@IndeedEng] Logrepo: Enabling Data-Driven Decisions
 
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol [@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
 
[@IndeedEng Talk] Diving deeper into data-driven product design
[@IndeedEng Talk] Diving deeper into data-driven product design[@IndeedEng Talk] Diving deeper into data-driven product design
[@IndeedEng Talk] Diving deeper into data-driven product design
 
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
 
[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...
[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...
[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...
 
[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters
 
[@IndeedEng] Building Indeed Resume Search
[@IndeedEng] Building Indeed Resume Search[@IndeedEng] Building Indeed Resume Search
[@IndeedEng] Building Indeed Resume Search
 
[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System
[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System
[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System
 

Recently uploaded

Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
sachin chaurasia
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 

Recently uploaded (20)

Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 

Improving the development process with metrics driven insights presentation

  • 1. Improving the Development Process with Metrics-Driven Insights oscon.indeed.tech | @IndeedEng | github.com/indeedeng
  • 2. Hi, I’m Jack. Jack Humphrey, VP Engineering go.indeed.com/jack | @youknowjack
  • 3.
  • 4. 60 countries 30 languages 200M unique visitors 20M jobs
  • 5. Offices around the world 4 5 New York Stamford Toronto São Paulo Austin Seattle San Mateo San Francisco Dublin London Amsterdam Dusseldorf Paris Hyderabad Bangalore Singapore Sydney Tokyo Zurich Brussels Scottsdale
  • 7. Indeed Engineering: move fast and try things
  • 8. Don’t bet on a small number of “great ideas”
  • 9. Bet on exploring lots of ideas as quickly as possible
  • 10. Exploring lots of ideas as quickly as possible 1 Hire great people 2 Give them ownership and autonomy 3 Develop great tools
  • 11. We’ve open sourced two of these tools Proctor A/B Testing Framework Imhotep Data Analytics Platform http://oscon.indeed.tech
  • 12. - Enables rapid exploration & analysis of large time-series datasets - Query language (IQL), web UI, and distributed backend Imhotep: data analytics platform fastefficientscalable github.com/indeedeng/imhotep
  • 13. Up to 5 million queries/week at Indeed across ~1500 datasets Most popular dataset has 39B events over the last year - Last 30 days: 25K distinct queries invoked 2.2M times by over 1200 users - ~95% of invocations are by a few automated users Imhotep: scalable, efficient, fast
  • 14. Most popular dataset: 39B events, 384 fields - 5.7TB on disk (146 bytes/event) No need to sample — use all the data Imhotep: scalable, efficient, fast
  • 15. Most popular dataset: queried 2.2M times in last 30 days - Median response time 159 milliseconds - 95% of queries < 2 seconds - Median uncached response time 5.7 seconds - Median response time, uncached 365-day queries: 37s Imhotep: scalable, efficient, fast
  • 16. These tools enable our approach to development Deliver MeasureLearn
  • 17. We can use this approach to improve our processes 01 Measure everything 02 Ask lots of questions in order to learn 03 Based on those learnings, make changes (deliver) 04 Then measure to confirm improvement
  • 18. 01 Measure everything 02 Ask lots of questions in order to learn 03 Based on those learnings, make changes (deliver) 04 Then measure to confirm improvement We can use this approach to help people improve
  • 19. Is measuring process and people a good idea?
  • 20. * proceed with caution Yes.*
  • 21. Goodhart’s Law When a measure becomes a target, it ceases to be a good measure.
  • 22. “I am not a number.”
  • 23. Measures aren’t inherently bad… it’s how you use them.
  • 24. The metrics should serve the team. The team shouldn’t serve the metrics.
  • 25. Process improvement: an example Measure LearnDeliver
  • 26. - Everything that happens in our products - Everything that happens in our process - Git commits - JIRA issue updates - production deploys - wiki edits - and more... Measure (a.k.a. “put it in Imhotep”)
  • 27. - We translate each string change or new string to 30 languages. - We use a custom JIRA issue type to track: 1 per language. - Verification has been historically tedious... - So let’s measure how long we spend verifying translations. Process improvement example: translation verification
  • 28. from jiraactions 2017-01-08 2017-04-02 where issuetype = 'Translation' AND prevstatus = 'Pending Verification' AND status != 'Pending Verification' AND project = 'LOREM' group by time(1d) select timeinstate/86400 /* days pending */ How long are translations in “Pending Verification”?
  • 29. from jiraactions 2017-01-08 2017-04-02 where issuetype = 'Translation' AND prevstatus = 'Pending Verification' AND status != 'Pending Verification' AND project = 'LOREM' group by time(1d) select timeinstate/86400 /* days pending */ How long are translations in “Pending Verification”?
  • 30. from jiraactions 2017-01-08 2017-04-02 where issuetype = 'Translation' AND prevstatus = 'Pending Verification' AND status != 'Pending Verification' AND project = 'LOREM' group by time(1d) select timeinstate/86400 /* days pending */ How long are translations in “Pending Verification”?
  • 31. from jiraactions 2017-01-08 2017-04-02 where issuetype = 'Translation' AND prevstatus = 'Pending Verification' AND status != 'Pending Verification' AND project = 'LOREM' group by time(1d) select timeinstate/86400 /* days pending */ How long are translations in “Pending Verification”?
  • 32. from jiraactions 2017-01-08 2017-04-02 where issuetype = 'Translation' AND prevstatus = 'Pending Verification' AND status != 'Pending Verification' AND project = 'LOREM' group by time(1d) select timeinstate/86400 /* days pending */ How long are translations in “Pending Verification”?
  • 33. Verification time is adding up
  • 34. - Can we dig into the data to better understand it? - What other information is needed to interpret? - What are the sources of noise? - Do we need to iterate on the measurement itself before it is generally useful? Be skeptical and question all measurements.
  • 35. from jiraactions 2017-01-07 2017-04-29 where issuetype='Translation' AND prevstatus='Pending Verification' AND status != 'Pending Verification' AND project = 'LOREM' group by time(1d) select distinct(issuekey) /* number of issues */ What’s the issue volume over that timeframe?
  • 36. What’s the issue volume over that timeframe?
  • 37. What’s the cumulative issue volume over that timeframe? 18 329
  • 38. - Good measurements + good questions = learning - We now have a measurement that supports our hypothesis, and we can prioritize improvement. Learn and prioritize
  • 39. - Better way: deploy translations separate from code - Does new process reduce verification time? - Project “LOREM”: old process - Project “IPSUM”: new process Translation verification: there is a better way
  • 40. from jiraactions 2016-09-15 2017-02-28 where issuetype = 'Translation' AND prevstatus = 'Pending Verification' AND status != 'Pending Verification' group by project in ('LOREM','IPSUM') select percentile(timeinstate, 90) Let’s look at 90th percentile time in “Pending Verification”
  • 41. The new process does look faster! Worth implementing in LOREM, then we’ll measure again 12 days 1.8 days
  • 42. Helping people improve with metrics
  • 43.
  • 44.
  • 45. Guard against Goodhart’s law 1 We use hindsight as a starting point for discussion 2 We constantly remind ourselves: don’t treat as targets.
  • 46. Resolved: 100, Reopened: 30 - “Productive, but attempting to ship a lot of buggy code” Be skeptical. Dig into data. - Only 10 actual bugs Conversation can produce new ideas for individual and team Example conversation: how’s my quality?
  • 47. Measure, question, and learn. It can work for process and people.
  • 49. Hi, I’m Kevin. Kevin Binswanger, Software Engineer
  • 50. Known unknowns: quality 1 Reopens 2 Escaped bugs 3 Time and Severity
  • 51. Known unknowns: engagement 1 How many committers 2 How much they are committing 3 Bus Factor
  • 52. Known unknowns: velocity 1 Committed > Reviewed > Verified 2 Inside the team vs Outside the team 3 Places we can automate
  • 55. January 1, 2016 to May 1, 2017 3.9 million actions
  • 56. January 1, 2016 to May 1, 2017 1.6 million actions
  • 57. #4 will surprise you! We Imported All the Activity from the Apache JIRA Instance, You’ll Never Believe What Happened Next! http://go.indeed.com/apachejira
  • 58. Share what you learn about Apache projects: Tweet @IndeedEng with #imhotep #apache http://go.indeed.com/apachejira
  • 60. Share what you learn about Apache projects: Tweet @IndeedEng with #imhotep #apache http://go.indeed.com/apachejira oscon.indeed.tech | @IndeedEng | github.com/indeedeng