SlideShare una empresa de Scribd logo
1 de 110
Descargar para leer sin conexión
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

Más contenido relacionado

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

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
 
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
 
DevOps and All the Continuouses w/ Helen Beal
DevOps and All the Continuouses w/ Helen BealDevOps and All the Continuouses w/ Helen Beal
DevOps and All the Continuouses w/ Helen BealSonatype
 
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity Rundeck
 

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

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
 
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
 
DevOps and All the Continuouses w/ Helen Beal
DevOps and All the Continuouses w/ Helen BealDevOps and All the Continuouses w/ Helen Beal
DevOps and All the Continuouses w/ Helen Beal
 
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
 

Más de 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
 

Más de 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...
 

Último

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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Último (20)

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...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

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!