Dave Farley
http://www.davefarley.net
@davefarley77
http://www.continuous-delivery.co.uk
Taking Back
‘Software Engineering’
Craftsmanship is insufficient
(C)opyright Dave Farley 2017
(C)opyright Dave Farley 2017
(C)opyright Dave Farley 2017
(C)opyright Dave Farley 2017
(C)opyright Dave Farley 2017
(C)opyright Dave Farley 2017
(C)opyright Dave Farley 2017
Where is the Software Industry?
• Craft



• Mass Production



• Lean Production Techniques
(C)opyright Dave Farley 2017
Where is the Software Industry?
• Craft



• Mass Production



• Lean Production Techniques
(C)opyright Dave Farley 2017
Where is the Software Industry?
• Craft



• Mass Production



• Lean Production Techniques
We are here!
(C)opyright Dave Farley 2017
Where is the Software Industry?
• Craft



• Mass Production



• Lean Production Techniques
We are here!
We should be here!
The Impact of “Engineering” in Software
Source: “ Lianping Chen Paddy Power (http://www.sciencedirect.com/science/article/pii/S0164121217300353)
The Impact of “Engineering” in Software
90% lower
defect rate
Source: “ Lianping Chen Paddy Power (http://www.sciencedirect.com/science/article/pii/S0164121217300353)
The Impact of “Engineering” in Software
Source: “2014 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
The Impact of “Engineering” in Software
Source: “2014 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
8000x faster
deployment
lead times
The Impact of “Engineering” in Software
Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
The Impact of “Engineering” in Software
Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
21% Less time
spent on
unplanned work
and rework
The Impact of “Engineering” in Software
Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
The Impact of “Engineering” in Software
Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
44% More time
on new work
The Impact of “Engineering” in Software
Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
The Impact of “Engineering” in Software
Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
50% lower
change-failure
rates
The Impact of “Engineering” in Software
Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
The Impact of “Engineering” in Software
Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
50% Less time
spent
fixing security
issues
The Impact of “Engineering” in Software
Source: “2014 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
The Impact of “Engineering” in Software
Source: “2014 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
50%
Higher Market cap
growth over 3
years
(C)opyright Dave Farley 2017
All Engineering is not the same!
(C)opyright Dave Farley 2017
All Engineering is not the same!
(C)opyright Dave Farley 2017
All Engineering is not the same!
(C)opyright Dave Farley 2017
All Engineering is not the same!
(C)opyright Dave Farley 2017
All Engineering is not the same!
(C)opyright Dave Farley 2017
All Engineering is not the same!
(C)opyright Dave Farley 2017
What is ‘Engineering’?
(C)opyright Dave Farley 2017
What is ‘Engineering’?
(C)opyright Dave Farley 2017
What is ‘Engineering’?
(C)opyright Dave Farley 2017
What is ‘Engineering’?
Engineering is the application of an empirical,
scientific approach to finding efficient solutions to
practical problems.



(Dave Farley - Just Now!)
(C)opyright Dave Farley 2017
Fundamentals of an ‘Engineering’ Approach
• Iterative
• Employs Feedback
• Incremental
• Experimental
• Empirical
(C)opyright Dave Farley 2017
Iterative
Iterative
From Wikipedia, the free encyclopaedia
Iteration is the act of repeating a process, either to generate an
unbounded sequence of outcomes, or with the aim of
approaching a desired goal, target or result.”
(C)opyright Dave Farley 2017
Being Iterative Matters
Means we can learn, react and adapt
(C)opyright Dave Farley 2017
Being Iterative Matters
Means we can learn, react and adapt
(C)opyright Dave Farley 2017
Being Iterative Matters
Means we can learn, react and adapt
(C)opyright Dave Farley 2017
Being Iterative Matters
Means we can learn, react and adapt
(C)opyright Dave Farley 2017
Being Iterative Matters
Allows us to steer towards a goal
(C)opyright Dave Farley 2017
Being Iterative Matters
Allows us to steer towards a goal
(C)opyright Dave Farley 2017
Being Iterative Matters
Fundamental to a process of “Continual Improvement”
(C)opyright Dave Farley 2017
Being Iterative Matters
Fundamental to a process of “Continual Improvement”
(C)opyright Dave Farley 2017
Being Iterative Matters
Allowing us to refine our processes and get better at what we do through
practice and repetition
(C)opyright Dave Farley 2017
Being Iterative Matters
Allowing us to refine our processes and get better at what we do through
practice and repetition
(C)opyright Dave Farley 2017
Feedback
Feedback
From Wikipedia, the free encyclopaedia
Feedback is information about actions, returned to the source of
the actions.
(C)opyright Dave Farley 2017
Feedback Matters
Means we can observe the impact of our choices
(C)opyright Dave Farley 2017
Feedback Matters
Means we can observe the impact of our choices
Unit Test CodeIdea
Executable
spec.
Build Release
Feedback!!!
(C)opyright Dave Farley 2017
Incremental
Incremental
From Wikipedia, the free encyclopaedia
Evolutionary design, Continuous design, Evolutive design, or
"Incremental design" is directly related to any modular design
application, in which components can be freely substituted if
someone improved can ensure better performance.
(C)opyright Dave Farley 2017
Incrementalism - Modular Systems
(C)opyright Dave Farley 2017
Incrementalism - Modular Systems
(C)opyright Dave Farley 2017
Incrementalism - Modular Systems
Earth to
Earth orbit
(C)opyright Dave Farley 2017
Incrementalism - Modular Systems
(C)opyright Dave Farley 2017
Incrementalism - Modular Systems
EarthOrbit
to
Earth
(C)opyright Dave Farley 2017
Incrementalism - Modular Systems
Earthto
M
oon,
M
oontoEarth
EarthOrbit
to
Earth
(C)opyright Dave Farley 2017
Incrementalism - Modular Systems
(C)opyright Dave Farley 2017
Incrementalism - Modular Systems
Moon
toMoon Orbit
(C)opyright Dave Farley 2017
Incrementalism - Modular Systems
Moon Orbit
to
Moon
Moon
toMoon Orbit
(C)opyright Dave Farley 2017
Iterative vs Incremental
Source: Jeff Patton
(C)opyright Dave Farley 2017
Iterative vs Incremental
Source: Jeff Patton
Iterative
(C)opyright Dave Farley 2017
Iterative vs Incremental
Source: Jeff Patton
Iterative
Incremental
(C)opyright Dave Farley 2017
Experimental
Experimental
From Wikipedia, the free encyclopaedia
An experiment is a procedure carried out to support, refute, or
validate a hypothesis. Experiments provide insight into cause-
and-effect by demonstrating what outcome occurs when a
particular factor is manipulated.
(C)opyright Dave Farley 2017
Being Experimental - The Goal
(C)opyright Dave Farley 2017
Being Experimental - The Goal
“I believe that this nation should commit itself
to achieving the goal, before this decade is
out, of landing a man on the moon and
returning him safely to the earth”
- John F. Kennedy (1961)
(C)opyright Dave Farley 2017
Being Experimental - The Goal
(C)opyright Dave Farley 2017
Being Experimental - The Challenge
(C)opyright Dave Farley 2017
Being Experimental - The Challenge
(C)opyright Dave Farley 2017
The First “Software Engineer”
(C)opyright Dave Farley 2017
Being Experimental - Small Steps
(C)opyright Dave Farley 2017
Being Experimental - Small Steps
(C)opyright Dave Farley 2017
Being Experimental - Giant Leaps
(C)opyright Dave Farley 2017
Being Experimental - Giant Leaps
(C)opyright Dave Farley 2017
Being Experimental
(C)opyright Dave Farley 2017
Being Experimental
The Ranger Programme
(C)opyright Dave Farley 2017
Being Experimental
The Ranger Programme
‣ Ranger 1 - Launch Failure
(C)opyright Dave Farley 2017
Being Experimental
The Ranger Programme
‣ Ranger 1 - Launch Failure
‣ Ranger 2 - Launch Failure
(C)opyright Dave Farley 2017
Being Experimental
The Ranger Programme
‣ Ranger 1 - Launch Failure
‣ Ranger 2 - Launch Failure
‣ Ranger 3 - Missed!
(C)opyright Dave Farley 2017
Being Experimental
The Ranger Programme
‣ Ranger 1 - Launch Failure
‣ Ranger 2 - Launch Failure
‣ Ranger 3 - Missed!
‣ Ranger 4 - Impact, systems failed
(C)opyright Dave Farley 2017
Being Experimental
The Ranger Programme
‣ Ranger 1 - Launch Failure
‣ Ranger 2 - Launch Failure
‣ Ranger 3 - Missed!
‣ Ranger 4 - Impact, systems failed
‣ Ranger 5 - Missed!
(C)opyright Dave Farley 2017
Being Experimental
The Ranger Programme
‣ Ranger 1 - Launch Failure
‣ Ranger 2 - Launch Failure
‣ Ranger 3 - Missed!
‣ Ranger 4 - Impact, systems failed
‣ Ranger 5 - Missed!
‣ Ranger 6 - Impact, cameras failed
(C)opyright Dave Farley 2017
Being Experimental
The Ranger Programme
‣ Ranger 1 - Launch Failure
‣ Ranger 2 - Launch Failure
‣ Ranger 3 - Missed!
‣ Ranger 4 - Impact, systems failed
‣ Ranger 5 - Missed!
‣ Ranger 6 - Impact, cameras failed
‣ Ranger 7 - Success!
(C)opyright Dave Farley 2017
Being Experimental
The Ranger Programme
‣ Ranger 1 - Launch Failure
‣ Ranger 2 - Launch Failure
‣ Ranger 3 - Missed!
‣ Ranger 4 - Impact, systems failed
‣ Ranger 5 - Missed!
‣ Ranger 6 - Impact, cameras failed
‣ Ranger 7 - Success!
‣ Ranger 8 - Success!
(C)opyright Dave Farley 2017
Being Experimental
The Ranger Programme
‣ Ranger 1 - Launch Failure
‣ Ranger 2 - Launch Failure
‣ Ranger 3 - Missed!
‣ Ranger 4 - Impact, systems failed
‣ Ranger 5 - Missed!
‣ Ranger 6 - Impact, cameras failed
‣ Ranger 7 - Success!
‣ Ranger 8 - Success!
‣ Ranger 9 - Success!
(C)opyright Dave Farley 2017
Being Experimental
(C)opyright Dave Farley 2017
Being Experimental
(C)opyright Dave Farley 2017
Being Experimental
(C)opyright Dave Farley 2017
Being Experimental
(C)opyright Dave Farley 2017
Empirical
Empirical
From Oxford Dictionaries
Based on, concerned with, or verifiable by observation or
experience rather than theory or pure logic.
(C)opyright Dave Farley 2017
Empirical
Empirical
From Oxford Dictionaries
Based on, concerned with, or verifiable by observation or
experience rather than theory or pure logic.
(C)opyright Dave Farley 2017
Empirical
Empirical
From Oxford Dictionaries
Based on, concerned with, or verifiable by observation or
experience rather than theory or pure logic.
(C)opyright Dave Farley 2017
Being Empirical Matters
Means we can be evidence based and data driven
(C)opyright Dave Farley 2017
Being Empirical Matters
Means we can be evidence based and data driven
Stand Back!
We are going to try
SCIENCE!!!
(C)opyright Dave Farley 2017
Being Empirical Matters
Stand Back!
We are going to try
SCIENCE!!!
(C)opyright Dave Farley 2017
Being Empirical Matters
• We can never be certain of success
Stand Back!
We are going to try
SCIENCE!!!
(C)opyright Dave Farley 2017
Being Empirical Matters
• We can never be certain of success
• Progress only comes when we risk failure
Stand Back!
We are going to try
SCIENCE!!!
(C)opyright Dave Farley 2017
Being Empirical Matters
• We can never be certain of success
• Progress only comes when we risk failure
• We learn most when reality does NOT match our
predictions
Stand Back!
We are going to try
SCIENCE!!!
(C)opyright Dave Farley 2017
Being Empirical Matters
• We can never be certain of success
• Progress only comes when we risk failure
• We learn most when reality does NOT match our
predictions
• Production will ALWAYS surprise us
Stand Back!
We are going to try
SCIENCE!!!
(C)opyright Dave Farley 2017
Being Empirical Matters
• We can never be certain of success
• Progress only comes when we risk failure
• We learn most when reality does NOT match our
predictions
• Production will ALWAYS surprise us
• …and it should!
Stand Back!
We are going to try
SCIENCE!!!
(C)opyright Dave Farley 2017
Being Empirical Matters
• We can never be certain of success
• Progress only comes when we risk failure
• We learn most when reality does NOT match our
predictions
• Production will ALWAYS surprise us
• …and it should!
• All of our design choices, all of our coding
efforts all of our tests are only…
Stand Back!
We are going to try
SCIENCE!!!
(C)opyright Dave Farley 2017
Being Empirical Matters
• We can never be certain of success
• Progress only comes when we risk failure
• We learn most when reality does NOT match our
predictions
• Production will ALWAYS surprise us
• …and it should!
• All of our design choices, all of our coding
efforts all of our tests are only…
Stand Back!
We are going to try
SCIENCE!!!
“Our best theory to
explain things so far”
(C)opyright Dave Farley 2017
• Short Feedback Cycles
• Test Driven Development
• Automation
• Hypothesis Driven
• Tests as a Falsification Mechanism
Continuous Delivery as an Engineering Discipline
(C)opyright Dave Farley 2017
• Short Feedback Cycles
• Test Driven Development
• Automation
• Hypothesis Driven
• Tests as a Falsification Mechanism
Continuous Delivery as an Engineering Discipline
Unit Test CodeIdea
Executable
spec.
Build Release
(C)opyright Dave Farley 2017
Theory
Observation
Experiment
Prediction
(C)opyright Dave Farley 2017
(C)opyright Dave Farley 2017
Don’t be “like” Engineers
(C)opyright Dave Farley 2017
Be Engineers!
Q&A
http://www.continuous-delivery.co.uk
Dave Farley
http://www.davefarley.net
@davefarley77

Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    (C)opyright Dave Farley2017 Where is the Software Industry? • Craft
 
 • Mass Production
 
 • Lean Production Techniques
  • 9.
    (C)opyright Dave Farley2017 Where is the Software Industry? • Craft
 
 • Mass Production
 
 • Lean Production Techniques
  • 10.
    (C)opyright Dave Farley2017 Where is the Software Industry? • Craft
 
 • Mass Production
 
 • Lean Production Techniques We are here!
  • 11.
    (C)opyright Dave Farley2017 Where is the Software Industry? • Craft
 
 • Mass Production
 
 • Lean Production Techniques We are here! We should be here!
  • 12.
    The Impact of“Engineering” in Software Source: “ Lianping Chen Paddy Power (http://www.sciencedirect.com/science/article/pii/S0164121217300353)
  • 13.
    The Impact of“Engineering” in Software 90% lower defect rate Source: “ Lianping Chen Paddy Power (http://www.sciencedirect.com/science/article/pii/S0164121217300353)
  • 14.
    The Impact of“Engineering” in Software Source: “2014 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
  • 15.
    The Impact of“Engineering” in Software Source: “2014 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014) 8000x faster deployment lead times
  • 16.
    The Impact of“Engineering” in Software Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
  • 17.
    The Impact of“Engineering” in Software Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014) 21% Less time spent on unplanned work and rework
  • 18.
    The Impact of“Engineering” in Software Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
  • 19.
    The Impact of“Engineering” in Software Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014) 44% More time on new work
  • 20.
    The Impact of“Engineering” in Software Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
  • 21.
    The Impact of“Engineering” in Software Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014) 50% lower change-failure rates
  • 22.
    The Impact of“Engineering” in Software Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
  • 23.
    The Impact of“Engineering” in Software Source: “2017 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014) 50% Less time spent fixing security issues
  • 24.
    The Impact of“Engineering” in Software Source: “2014 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014)
  • 25.
    The Impact of“Engineering” in Software Source: “2014 State of DevOps report”, Jez Humble, Gene Kim, Nicole Forsgren Velasquez, Puppet Labs (2014) 50% Higher Market cap growth over 3 years
  • 26.
    (C)opyright Dave Farley2017 All Engineering is not the same!
  • 27.
    (C)opyright Dave Farley2017 All Engineering is not the same!
  • 28.
    (C)opyright Dave Farley2017 All Engineering is not the same!
  • 29.
    (C)opyright Dave Farley2017 All Engineering is not the same!
  • 30.
    (C)opyright Dave Farley2017 All Engineering is not the same!
  • 31.
    (C)opyright Dave Farley2017 All Engineering is not the same!
  • 32.
    (C)opyright Dave Farley2017 What is ‘Engineering’?
  • 33.
    (C)opyright Dave Farley2017 What is ‘Engineering’?
  • 34.
    (C)opyright Dave Farley2017 What is ‘Engineering’?
  • 35.
    (C)opyright Dave Farley2017 What is ‘Engineering’? Engineering is the application of an empirical, scientific approach to finding efficient solutions to practical problems.
 
 (Dave Farley - Just Now!)
  • 36.
    (C)opyright Dave Farley2017 Fundamentals of an ‘Engineering’ Approach • Iterative • Employs Feedback • Incremental • Experimental • Empirical
  • 37.
    (C)opyright Dave Farley2017 Iterative Iterative From Wikipedia, the free encyclopaedia Iteration is the act of repeating a process, either to generate an unbounded sequence of outcomes, or with the aim of approaching a desired goal, target or result.”
  • 38.
    (C)opyright Dave Farley2017 Being Iterative Matters Means we can learn, react and adapt
  • 39.
    (C)opyright Dave Farley2017 Being Iterative Matters Means we can learn, react and adapt
  • 40.
    (C)opyright Dave Farley2017 Being Iterative Matters Means we can learn, react and adapt
  • 41.
    (C)opyright Dave Farley2017 Being Iterative Matters Means we can learn, react and adapt
  • 42.
    (C)opyright Dave Farley2017 Being Iterative Matters Allows us to steer towards a goal
  • 43.
    (C)opyright Dave Farley2017 Being Iterative Matters Allows us to steer towards a goal
  • 44.
    (C)opyright Dave Farley2017 Being Iterative Matters Fundamental to a process of “Continual Improvement”
  • 45.
    (C)opyright Dave Farley2017 Being Iterative Matters Fundamental to a process of “Continual Improvement”
  • 46.
    (C)opyright Dave Farley2017 Being Iterative Matters Allowing us to refine our processes and get better at what we do through practice and repetition
  • 47.
    (C)opyright Dave Farley2017 Being Iterative Matters Allowing us to refine our processes and get better at what we do through practice and repetition
  • 48.
    (C)opyright Dave Farley2017 Feedback Feedback From Wikipedia, the free encyclopaedia Feedback is information about actions, returned to the source of the actions.
  • 49.
    (C)opyright Dave Farley2017 Feedback Matters Means we can observe the impact of our choices
  • 50.
    (C)opyright Dave Farley2017 Feedback Matters Means we can observe the impact of our choices
  • 51.
  • 52.
    (C)opyright Dave Farley2017 Incremental Incremental From Wikipedia, the free encyclopaedia Evolutionary design, Continuous design, Evolutive design, or "Incremental design" is directly related to any modular design application, in which components can be freely substituted if someone improved can ensure better performance.
  • 53.
    (C)opyright Dave Farley2017 Incrementalism - Modular Systems
  • 54.
    (C)opyright Dave Farley2017 Incrementalism - Modular Systems
  • 55.
    (C)opyright Dave Farley2017 Incrementalism - Modular Systems Earth to Earth orbit
  • 56.
    (C)opyright Dave Farley2017 Incrementalism - Modular Systems
  • 57.
    (C)opyright Dave Farley2017 Incrementalism - Modular Systems EarthOrbit to Earth
  • 58.
    (C)opyright Dave Farley2017 Incrementalism - Modular Systems Earthto M oon, M oontoEarth EarthOrbit to Earth
  • 59.
    (C)opyright Dave Farley2017 Incrementalism - Modular Systems
  • 60.
    (C)opyright Dave Farley2017 Incrementalism - Modular Systems Moon toMoon Orbit
  • 61.
    (C)opyright Dave Farley2017 Incrementalism - Modular Systems Moon Orbit to Moon Moon toMoon Orbit
  • 62.
    (C)opyright Dave Farley2017 Iterative vs Incremental Source: Jeff Patton
  • 63.
    (C)opyright Dave Farley2017 Iterative vs Incremental Source: Jeff Patton Iterative
  • 64.
    (C)opyright Dave Farley2017 Iterative vs Incremental Source: Jeff Patton Iterative Incremental
  • 65.
    (C)opyright Dave Farley2017 Experimental Experimental From Wikipedia, the free encyclopaedia An experiment is a procedure carried out to support, refute, or validate a hypothesis. Experiments provide insight into cause- and-effect by demonstrating what outcome occurs when a particular factor is manipulated.
  • 66.
    (C)opyright Dave Farley2017 Being Experimental - The Goal
  • 67.
    (C)opyright Dave Farley2017 Being Experimental - The Goal “I believe that this nation should commit itself to achieving the goal, before this decade is out, of landing a man on the moon and returning him safely to the earth” - John F. Kennedy (1961)
  • 68.
    (C)opyright Dave Farley2017 Being Experimental - The Goal
  • 69.
    (C)opyright Dave Farley2017 Being Experimental - The Challenge
  • 70.
    (C)opyright Dave Farley2017 Being Experimental - The Challenge
  • 71.
    (C)opyright Dave Farley2017 The First “Software Engineer”
  • 72.
    (C)opyright Dave Farley2017 Being Experimental - Small Steps
  • 73.
    (C)opyright Dave Farley2017 Being Experimental - Small Steps
  • 74.
    (C)opyright Dave Farley2017 Being Experimental - Giant Leaps
  • 75.
    (C)opyright Dave Farley2017 Being Experimental - Giant Leaps
  • 76.
    (C)opyright Dave Farley2017 Being Experimental
  • 77.
    (C)opyright Dave Farley2017 Being Experimental The Ranger Programme
  • 78.
    (C)opyright Dave Farley2017 Being Experimental The Ranger Programme ‣ Ranger 1 - Launch Failure
  • 79.
    (C)opyright Dave Farley2017 Being Experimental The Ranger Programme ‣ Ranger 1 - Launch Failure ‣ Ranger 2 - Launch Failure
  • 80.
    (C)opyright Dave Farley2017 Being Experimental The Ranger Programme ‣ Ranger 1 - Launch Failure ‣ Ranger 2 - Launch Failure ‣ Ranger 3 - Missed!
  • 81.
    (C)opyright Dave Farley2017 Being Experimental The Ranger Programme ‣ Ranger 1 - Launch Failure ‣ Ranger 2 - Launch Failure ‣ Ranger 3 - Missed! ‣ Ranger 4 - Impact, systems failed
  • 82.
    (C)opyright Dave Farley2017 Being Experimental The Ranger Programme ‣ Ranger 1 - Launch Failure ‣ Ranger 2 - Launch Failure ‣ Ranger 3 - Missed! ‣ Ranger 4 - Impact, systems failed ‣ Ranger 5 - Missed!
  • 83.
    (C)opyright Dave Farley2017 Being Experimental The Ranger Programme ‣ Ranger 1 - Launch Failure ‣ Ranger 2 - Launch Failure ‣ Ranger 3 - Missed! ‣ Ranger 4 - Impact, systems failed ‣ Ranger 5 - Missed! ‣ Ranger 6 - Impact, cameras failed
  • 84.
    (C)opyright Dave Farley2017 Being Experimental The Ranger Programme ‣ Ranger 1 - Launch Failure ‣ Ranger 2 - Launch Failure ‣ Ranger 3 - Missed! ‣ Ranger 4 - Impact, systems failed ‣ Ranger 5 - Missed! ‣ Ranger 6 - Impact, cameras failed ‣ Ranger 7 - Success!
  • 85.
    (C)opyright Dave Farley2017 Being Experimental The Ranger Programme ‣ Ranger 1 - Launch Failure ‣ Ranger 2 - Launch Failure ‣ Ranger 3 - Missed! ‣ Ranger 4 - Impact, systems failed ‣ Ranger 5 - Missed! ‣ Ranger 6 - Impact, cameras failed ‣ Ranger 7 - Success! ‣ Ranger 8 - Success!
  • 86.
    (C)opyright Dave Farley2017 Being Experimental The Ranger Programme ‣ Ranger 1 - Launch Failure ‣ Ranger 2 - Launch Failure ‣ Ranger 3 - Missed! ‣ Ranger 4 - Impact, systems failed ‣ Ranger 5 - Missed! ‣ Ranger 6 - Impact, cameras failed ‣ Ranger 7 - Success! ‣ Ranger 8 - Success! ‣ Ranger 9 - Success!
  • 87.
    (C)opyright Dave Farley2017 Being Experimental
  • 88.
    (C)opyright Dave Farley2017 Being Experimental
  • 89.
    (C)opyright Dave Farley2017 Being Experimental
  • 90.
    (C)opyright Dave Farley2017 Being Experimental
  • 91.
    (C)opyright Dave Farley2017 Empirical Empirical From Oxford Dictionaries Based on, concerned with, or verifiable by observation or experience rather than theory or pure logic.
  • 92.
    (C)opyright Dave Farley2017 Empirical Empirical From Oxford Dictionaries Based on, concerned with, or verifiable by observation or experience rather than theory or pure logic.
  • 93.
    (C)opyright Dave Farley2017 Empirical Empirical From Oxford Dictionaries Based on, concerned with, or verifiable by observation or experience rather than theory or pure logic.
  • 94.
    (C)opyright Dave Farley2017 Being Empirical Matters Means we can be evidence based and data driven
  • 95.
    (C)opyright Dave Farley2017 Being Empirical Matters Means we can be evidence based and data driven Stand Back! We are going to try SCIENCE!!!
  • 96.
    (C)opyright Dave Farley2017 Being Empirical Matters Stand Back! We are going to try SCIENCE!!!
  • 97.
    (C)opyright Dave Farley2017 Being Empirical Matters • We can never be certain of success Stand Back! We are going to try SCIENCE!!!
  • 98.
    (C)opyright Dave Farley2017 Being Empirical Matters • We can never be certain of success • Progress only comes when we risk failure Stand Back! We are going to try SCIENCE!!!
  • 99.
    (C)opyright Dave Farley2017 Being Empirical Matters • We can never be certain of success • Progress only comes when we risk failure • We learn most when reality does NOT match our predictions Stand Back! We are going to try SCIENCE!!!
  • 100.
    (C)opyright Dave Farley2017 Being Empirical Matters • We can never be certain of success • Progress only comes when we risk failure • We learn most when reality does NOT match our predictions • Production will ALWAYS surprise us Stand Back! We are going to try SCIENCE!!!
  • 101.
    (C)opyright Dave Farley2017 Being Empirical Matters • We can never be certain of success • Progress only comes when we risk failure • We learn most when reality does NOT match our predictions • Production will ALWAYS surprise us • …and it should! Stand Back! We are going to try SCIENCE!!!
  • 102.
    (C)opyright Dave Farley2017 Being Empirical Matters • We can never be certain of success • Progress only comes when we risk failure • We learn most when reality does NOT match our predictions • Production will ALWAYS surprise us • …and it should! • All of our design choices, all of our coding efforts all of our tests are only… Stand Back! We are going to try SCIENCE!!!
  • 103.
    (C)opyright Dave Farley2017 Being Empirical Matters • We can never be certain of success • Progress only comes when we risk failure • We learn most when reality does NOT match our predictions • Production will ALWAYS surprise us • …and it should! • All of our design choices, all of our coding efforts all of our tests are only… Stand Back! We are going to try SCIENCE!!! “Our best theory to explain things so far”
  • 104.
    (C)opyright Dave Farley2017 • Short Feedback Cycles • Test Driven Development • Automation • Hypothesis Driven • Tests as a Falsification Mechanism Continuous Delivery as an Engineering Discipline
  • 105.
    (C)opyright Dave Farley2017 • Short Feedback Cycles • Test Driven Development • Automation • Hypothesis Driven • Tests as a Falsification Mechanism Continuous Delivery as an Engineering Discipline Unit Test CodeIdea Executable spec. Build Release
  • 106.
    (C)opyright Dave Farley2017 Theory Observation Experiment Prediction
  • 107.
  • 108.
    (C)opyright Dave Farley2017 Don’t be “like” Engineers
  • 109.
    (C)opyright Dave Farley2017 Be Engineers!
  • 110.