SlideShare a Scribd company logo
1 of 110
Download to read offline
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

More Related Content

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

Fast Delivery DevOps Israel
Fast Delivery DevOps IsraelFast Delivery DevOps Israel
Fast Delivery DevOps IsraelAdrian Cockcroft
 
DevOps Army of N - Recovering From Being A Human SPOF
DevOps Army of N - Recovering From Being A Human SPOFDevOps Army of N - Recovering From Being A Human SPOF
DevOps Army of N - Recovering From Being A Human SPOFfunjon
 
The Rationale for Continuous Delivery by Dave Farley
The Rationale for Continuous Delivery by Dave FarleyThe Rationale for Continuous Delivery by Dave Farley
The Rationale for Continuous Delivery by Dave FarleyBosnia Agile
 
Complexity, Emergence, Leadership, and "Wide Mind"
Complexity, Emergence, Leadership, and "Wide Mind"Complexity, Emergence, Leadership, and "Wide Mind"
Complexity, Emergence, Leadership, and "Wide Mind"Derek W. Wade
 
Continuous Delivery - The Next 10 years
Continuous Delivery - The Next 10 yearsContinuous Delivery - The Next 10 years
Continuous Delivery - The Next 10 yearsDave Farley
 
DOES15 - Elisabeth Hendrickson - Its All About Feedback
DOES15 - Elisabeth Hendrickson - Its All About FeedbackDOES15 - Elisabeth Hendrickson - Its All About Feedback
DOES15 - Elisabeth Hendrickson - Its All About FeedbackGene Kim
 
Guess The Pm Game
Guess The Pm GameGuess The Pm Game
Guess The Pm Gamejamesbb
 
Managing Completeness of Data
Managing Completeness of DataManaging Completeness of Data
Managing Completeness of DataFariz Darari
 
The Changing Landscape of Change Management - Prosci
The Changing Landscape of Change Management - ProsciThe Changing Landscape of Change Management - Prosci
The Changing Landscape of Change Management - ProsciTim Creasey
 
Can you be remotely agile? (Agile2015)
Can you be remotely agile? (Agile2015)Can you be remotely agile? (Agile2015)
Can you be remotely agile? (Agile2015)Mark Kilby
 
1 ie 2015 conference keynote
1   ie 2015 conference keynote1   ie 2015 conference keynote
1 ie 2015 conference keynoteMaggie Nichols
 
How Product Managers Thrive in a DevOps World
How Product Managers Thrive in a DevOps WorldHow Product Managers Thrive in a DevOps World
How Product Managers Thrive in a DevOps WorldAtlassian
 
Let's bring the teams back together
Let's bring the teams back togetherLet's bring the teams back together
Let's bring the teams back togetherKris Buytaert
 
Modern devOps with Docker
Modern devOps with DockerModern devOps with Docker
Modern devOps with DockerAvi Cavale
 
Using SAFe to Manage U.S. Government Agencies, Portfolios, & Acquisition Prog...
Using SAFe to Manage U.S. Government Agencies, Portfolios, & Acquisition Prog...Using SAFe to Manage U.S. Government Agencies, Portfolios, & Acquisition Prog...
Using SAFe to Manage U.S. Government Agencies, Portfolios, & Acquisition Prog...David Rico
 
Slaying The Legacy Dragon: Practical Lessons in Replacing Old Software
Slaying The Legacy Dragon: Practical Lessons in Replacing Old SoftwareSlaying The Legacy Dragon: Practical Lessons in Replacing Old Software
Slaying The Legacy Dragon: Practical Lessons in Replacing Old SoftwareTim Berglund
 

Similar to Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019 (20)

Fast Delivery DevOps Israel
Fast Delivery DevOps IsraelFast Delivery DevOps Israel
Fast Delivery DevOps Israel
 
DevOps Army of N - Recovering From Being A Human SPOF
DevOps Army of N - Recovering From Being A Human SPOFDevOps Army of N - Recovering From Being A Human SPOF
DevOps Army of N - Recovering From Being A Human SPOF
 
Continuous is great
Continuous is greatContinuous is great
Continuous is great
 
The Rationale for Continuous Delivery by Dave Farley
The Rationale for Continuous Delivery by Dave FarleyThe Rationale for Continuous Delivery by Dave Farley
The Rationale for Continuous Delivery by Dave Farley
 
Complexity, Emergence, Leadership, and "Wide Mind"
Complexity, Emergence, Leadership, and "Wide Mind"Complexity, Emergence, Leadership, and "Wide Mind"
Complexity, Emergence, Leadership, and "Wide Mind"
 
Continuous Delivery - The Next 10 years
Continuous Delivery - The Next 10 yearsContinuous Delivery - The Next 10 years
Continuous Delivery - The Next 10 years
 
DOES15 - Elisabeth Hendrickson - Its All About Feedback
DOES15 - Elisabeth Hendrickson - Its All About FeedbackDOES15 - Elisabeth Hendrickson - Its All About Feedback
DOES15 - Elisabeth Hendrickson - Its All About Feedback
 
Guess The Pm Game
Guess The Pm GameGuess The Pm Game
Guess The Pm Game
 
Managing Completeness of Data
Managing Completeness of DataManaging Completeness of Data
Managing Completeness of Data
 
The Changing Landscape of Change Management - Prosci
The Changing Landscape of Change Management - ProsciThe Changing Landscape of Change Management - Prosci
The Changing Landscape of Change Management - Prosci
 
Can you be remotely agile? (Agile2015)
Can you be remotely agile? (Agile2015)Can you be remotely agile? (Agile2015)
Can you be remotely agile? (Agile2015)
 
1 ie 2015 conference keynote
1   ie 2015 conference keynote1   ie 2015 conference keynote
1 ie 2015 conference keynote
 
How Product Managers Thrive in a DevOps World
How Product Managers Thrive in a DevOps WorldHow Product Managers Thrive in a DevOps World
How Product Managers Thrive in a DevOps World
 
Let's bring the teams back together
Let's bring the teams back togetherLet's bring the teams back together
Let's bring the teams back together
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
Modern devOps with Docker
Modern devOps with DockerModern devOps with Docker
Modern devOps with Docker
 
Using SAFe to Manage U.S. Government Agencies, Portfolios, & Acquisition Prog...
Using SAFe to Manage U.S. Government Agencies, Portfolios, & Acquisition Prog...Using SAFe to Manage U.S. Government Agencies, Portfolios, & Acquisition Prog...
Using SAFe to Manage U.S. Government Agencies, Portfolios, & Acquisition Prog...
 
Slaying The Legacy Dragon: Practical Lessons in Replacing Old Software
Slaying The Legacy Dragon: Practical Lessons in Replacing Old SoftwareSlaying The Legacy Dragon: Practical Lessons in Replacing Old Software
Slaying The Legacy Dragon: Practical Lessons in Replacing Old Software
 
The devops laboratory - 1 year later
The devops laboratory - 1 year laterThe devops laboratory - 1 year later
The devops laboratory - 1 year later
 
Devops -- LKFR14
Devops -- LKFR14Devops -- LKFR14
Devops -- LKFR14
 

More from Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Codemotion
 

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
 

Recently uploaded

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

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

  • 8. (C)opyright Dave Farley 2017 Where is the Software Industry? • Craft
 
 • Mass Production
 
 • Lean Production Techniques
  • 9. (C)opyright Dave Farley 2017 Where is the Software Industry? • Craft
 
 • Mass Production
 
 • Lean Production Techniques
  • 10. (C)opyright Dave Farley 2017 Where is the Software Industry? • Craft
 
 • Mass Production
 
 • Lean Production Techniques We are here!
  • 11. (C)opyright Dave Farley 2017 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 Farley 2017 All Engineering is not the same!
  • 27. (C)opyright Dave Farley 2017 All Engineering is not the same!
  • 28. (C)opyright Dave Farley 2017 All Engineering is not the same!
  • 29. (C)opyright Dave Farley 2017 All Engineering is not the same!
  • 30. (C)opyright Dave Farley 2017 All Engineering is not the same!
  • 31. (C)opyright Dave Farley 2017 All Engineering is not the same!
  • 32. (C)opyright Dave Farley 2017 What is ‘Engineering’?
  • 33. (C)opyright Dave Farley 2017 What is ‘Engineering’?
  • 34. (C)opyright Dave Farley 2017 What is ‘Engineering’?
  • 35. (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!)
  • 36. (C)opyright Dave Farley 2017 Fundamentals of an ‘Engineering’ Approach • Iterative • Employs Feedback • Incremental • Experimental • Empirical
  • 37. (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.”
  • 38. (C)opyright Dave Farley 2017 Being Iterative Matters Means we can learn, react and adapt
  • 39. (C)opyright Dave Farley 2017 Being Iterative Matters Means we can learn, react and adapt
  • 40. (C)opyright Dave Farley 2017 Being Iterative Matters Means we can learn, react and adapt
  • 41. (C)opyright Dave Farley 2017 Being Iterative Matters Means we can learn, react and adapt
  • 42. (C)opyright Dave Farley 2017 Being Iterative Matters Allows us to steer towards a goal
  • 43. (C)opyright Dave Farley 2017 Being Iterative Matters Allows us to steer towards a goal
  • 44. (C)opyright Dave Farley 2017 Being Iterative Matters Fundamental to a process of “Continual Improvement”
  • 45. (C)opyright Dave Farley 2017 Being Iterative Matters Fundamental to a process of “Continual Improvement”
  • 46. (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
  • 47. (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
  • 48. (C)opyright Dave Farley 2017 Feedback Feedback From Wikipedia, the free encyclopaedia Feedback is information about actions, returned to the source of the actions.
  • 49. (C)opyright Dave Farley 2017 Feedback Matters Means we can observe the impact of our choices
  • 50. (C)opyright Dave Farley 2017 Feedback Matters Means we can observe the impact of our choices
  • 52. (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.
  • 53. (C)opyright Dave Farley 2017 Incrementalism - Modular Systems
  • 54. (C)opyright Dave Farley 2017 Incrementalism - Modular Systems
  • 55. (C)opyright Dave Farley 2017 Incrementalism - Modular Systems Earth to Earth orbit
  • 56. (C)opyright Dave Farley 2017 Incrementalism - Modular Systems
  • 57. (C)opyright Dave Farley 2017 Incrementalism - Modular Systems EarthOrbit to Earth
  • 58. (C)opyright Dave Farley 2017 Incrementalism - Modular Systems Earthto M oon, M oontoEarth EarthOrbit to Earth
  • 59. (C)opyright Dave Farley 2017 Incrementalism - Modular Systems
  • 60. (C)opyright Dave Farley 2017 Incrementalism - Modular Systems Moon toMoon Orbit
  • 61. (C)opyright Dave Farley 2017 Incrementalism - Modular Systems Moon Orbit to Moon Moon toMoon Orbit
  • 62. (C)opyright Dave Farley 2017 Iterative vs Incremental Source: Jeff Patton
  • 63. (C)opyright Dave Farley 2017 Iterative vs Incremental Source: Jeff Patton Iterative
  • 64. (C)opyright Dave Farley 2017 Iterative vs Incremental Source: Jeff Patton Iterative Incremental
  • 65. (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.
  • 66. (C)opyright Dave Farley 2017 Being Experimental - The Goal
  • 67. (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)
  • 68. (C)opyright Dave Farley 2017 Being Experimental - The Goal
  • 69. (C)opyright Dave Farley 2017 Being Experimental - The Challenge
  • 70. (C)opyright Dave Farley 2017 Being Experimental - The Challenge
  • 71. (C)opyright Dave Farley 2017 The First “Software Engineer”
  • 72. (C)opyright Dave Farley 2017 Being Experimental - Small Steps
  • 73. (C)opyright Dave Farley 2017 Being Experimental - Small Steps
  • 74. (C)opyright Dave Farley 2017 Being Experimental - Giant Leaps
  • 75. (C)opyright Dave Farley 2017 Being Experimental - Giant Leaps
  • 76. (C)opyright Dave Farley 2017 Being Experimental
  • 77. (C)opyright Dave Farley 2017 Being Experimental The Ranger Programme
  • 78. (C)opyright Dave Farley 2017 Being Experimental The Ranger Programme ‣ Ranger 1 - Launch Failure
  • 79. (C)opyright Dave Farley 2017 Being Experimental The Ranger Programme ‣ Ranger 1 - Launch Failure ‣ Ranger 2 - Launch Failure
  • 80. (C)opyright Dave Farley 2017 Being Experimental The Ranger Programme ‣ Ranger 1 - Launch Failure ‣ Ranger 2 - Launch Failure ‣ Ranger 3 - Missed!
  • 81. (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
  • 82. (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!
  • 83. (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
  • 84. (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!
  • 85. (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!
  • 86. (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!
  • 87. (C)opyright Dave Farley 2017 Being Experimental
  • 88. (C)opyright Dave Farley 2017 Being Experimental
  • 89. (C)opyright Dave Farley 2017 Being Experimental
  • 90. (C)opyright Dave Farley 2017 Being Experimental
  • 91. (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.
  • 92. (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.
  • 93. (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.
  • 94. (C)opyright Dave Farley 2017 Being Empirical Matters Means we can be evidence based and data driven
  • 95. (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!!!
  • 96. (C)opyright Dave Farley 2017 Being Empirical Matters Stand Back! We are going to try SCIENCE!!!
  • 97. (C)opyright Dave Farley 2017 Being Empirical Matters • We can never be certain of success Stand Back! We are going to try SCIENCE!!!
  • 98. (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!!!
  • 99. (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!!!
  • 100. (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!!!
  • 101. (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!!!
  • 102. (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!!!
  • 103. (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”
  • 104. (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
  • 105. (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
  • 106. (C)opyright Dave Farley 2017 Theory Observation Experiment Prediction
  • 108. (C)opyright Dave Farley 2017 Don’t be “like” Engineers
  • 109. (C)opyright Dave Farley 2017 Be Engineers!