Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
The Scientific Method of Troubleshooting
Blithe Rocher
August 08, 2014
Programming
2
540
The Scientific Method of Troubleshooting
This version of the talk was presented at Distill 2014 and GoGaRuCo 2014.
Blithe Rocher
August 08, 2014
Tweet
Share
More Decks by Blithe Rocher
See All by Blithe Rocher
blithe
1
130
blithe
1
150
blithe
0
74
Other Decks in Programming
See All in Programming
williln
0
210
mploed
3
160
madai0517
1
150
takahi5
1
390
manfredsteyer
PRO
0
180
alperhankendi
1
140
danilop
1
730
nkjzm
1
150
nearmugi
0
140
bbatsov
0
110
pirosikick
4
930
heistak
2
120
Featured
See All Featured
addyosmani
311
21k
samanthasiow
56
6.3k
iamctodd
18
2k
trallard
13
710
lara
590
61k
lauravandoore
437
28k
bryan
100
11k
skipperchong
8
710
kneath
219
15k
robhawkes
52
2.8k
carmenhchung
30
1.5k
chriscoyier
145
20k
Transcript
The Scientific Method of Troubleshooting
@blithe
Big Nerd Ranch Atlanta, Georgia
Scientist
PhD in Physical Chemistry
Physics
Chemistry
6 Years!
Experiments
Scientific Method
Developer < >
StackOverflow
Problem solved?
Learn anything?
Most Important Part
Scientific Method
Set of Techniques For Acquiring Knowledge
Methodical
Systematic
“Has anyone seen string interpolation fail?”
Define the Problem 2 3 4 5 6 7 1
Expected behavior? ! ! !
Expected behavior? ! Actual behavior? !
Expected behavior? ! Actual behavior? ! Criteria for success?
Do Your Research 3 4 5 6 7 Define 2
Know your environment
Read the literature
Discussions
Make it fail!
Establish a Hypothesis 5 6 7 Define Research 4 3
Design the Experiment 6 7 Define Research Hypothesis 5 4
Divide and conquer!
Limit the variables
Try something weird
None
Hierarchy of Blame
Gather Data 6 7 Define Research Hypothesis Experiment 5
Current status?
Read the error message!
Analyze Your Results 7 Define Research Data Hypothesis Experiment 6
Problem solved? ! Learn anything?
Understand the Why
Future Experiments
Embrace the Success
Keep a Good Lab Notebook Define Research Data Hypothesis Experiment
Analyze 7
None
You won’t remember
Logs aren’t enough
Commit Messages
Update the Docs
Contribute
None
Share the Knowledge
! Questions? Thanks! @blithe