SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
FAIL FAST, FAIL OFTEN
Gordon Haff @ghaff, Technology Evangelist
William Henry @ipbabble, DevOps Strategy Lead
13 July 2016
FAILURE
2
3
FAILURE
4
FAILURE
ALSO FAILURE
5
FAILURES HAVE
CONSEQUENCES
6
THE
INESCAPABLE
CONCLUSION?
7
DON’T
FAIL
8
DON’T
FAIL
9
FAIL
WELL
10
11
Experiment by Peter Skillman, former VP of design at Palm
12
WHAT HE LEARNED
• Kindergarteners do not spend 15
minutes in a bunch of status
transactions trying to figure out who
is going to be CEO of Spaghetti
Corporation.
• They don’t sit around talking about
the problem. They just start
building to determine what works
and what doesn’t.
SOFTWARE =
GREAT MATCH FOR
FAILING WELL
13
14
FIVE PRINCIPLES:
THE RIGHT
scope
approach
workflow
incentives
culture
15
THE RIGHT SCOPE
Constrain the impact of failure
• Enable experimentation
• Stop cascading of failures
• Make deployments incremental,
frequent, and routine events
• Generally decouple activities and
decisions from each other
• Small, autonomous, bounded context
services
16
SMALL
• “Two pizza teams”
• Well-defined functional units
• Organized around business
capabilities (Conway's Law)
17
AUTONOMOUS
• Implementation changes can happen
independently of other services
• Data and functionality exposed only
through service calls over the
network
• Designed to be externalizable
• No back-doors
18
THE RIGHT APPROACH
Continuously experiment, iterate,
and improve
• It’s about the process
• Identify mistakes early
• Establish safety nets
• Fail and move on
19
THE PROCESS
Involves people and communication
• The most effective process have continuous
communication - think scrums and kanban
• Allows for collaboration that can identify
failures before they happen
• Allows for feedback to continuously improve
and cultivate growth
• Provides transparency
20
DEV LESSONS: BREAKING CODE VIOLENTLY
Build in violent failures to highlight issues
• C/C++ lessons:
• Sanity check using assertions
• Invariant checks
• If ever I’m here in the code and these
conditions aren’t met, then I have no
business being here. Something is
wrong and I should fail violently.
• Involves tracing through the failure
21
AUTOMATED REGRESSION TESTING
• As products and services evolve we
discovered that maintaining and incrementally
adding new tests became valuable
• These tests were/are most often based on
experienced failures and bugs
• Scripts were developed to run nightly builds
against various developer changes to test for
regression
• Testing tools evolved - proprietary and open
source
22
OPS LESSONS: CHAOS MONKEY
Test robustness of recovery using failure
• Platform should provide uninterrupted services
to the customer
• Therefore:
• Should always recover in acceptable
amount of time
• We should have random failures to ensure
that changes have not regressed or caused
new recovery problems
http://understeer.hatenablog.com/entry/2012/02/29/224629
23
THE RIGHT WORKFLOW
Repeatably automate for consistency
• Goal is repeatable automation
• Toyota’s yellow cord
• Initially pipelines may be very
different
• Different tools
• Traditional vs. “cloud native”
• It’s a journey
• Consolidation evolves naturally
24
DESIRABLE ENTERPRISE CI/CD WORKFLOW
myRepo
Project
Repo
CI
Commit Push
Pass/Fail
Local Test
Build
Repo
CD
Release
Repo
Monitor
Build Test
Review/
Appr
Deliver Deploy
3rd
Party
25
CI/CD PIPELINE TOOLSET
CI/CD Workflow UI
gerrit
26
OPS LESSONS: RED/GREEN
Configuration as code has built in failure
Continuous Integration /
Continuous Deployment
Image & Package &
Metadata Repository
src repo
Dev./Build QA
Production
in OHC
Events
27
THE RIGHT INCENTIVES
Align rewards and behavior with desirable outcomes
• Incentives (advancement, money,
recognition) need to reward trust,
cooperation, and innovation
• Peer reward systems also valuable
• Individual has control over their own
success
• But people still have responsibility for
their actions
28
THE RIGHT CULTURE
Build systems and organizations that allow for failing well
• Transparency
• Even good decisions can have bad
outcomes
• Innovation inherently risky
• Cut losses (avoid sunk cost fallacy)
This is why open source is
so successful!
29
30
BUT CULTURE ISN’T SOMETHING YOU JUST CHANGE
• Lack of agreed-to model of what
“right” culture looks like
• Different organizations require
different behaviors
• Culture change is difficult to measure
and quantify
• Culture is very hard to impose
• Culture is an output, not an input
31
CULTURE IS:
emergent
pervasive
the keystone
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews
THANK YOU
CREDITS
33
Tacoma Narrows Bridge: Barney Elliott; The Camera Shop - Screenshot taken from 16MM Kodachrome motion picture
film by Barney Elliott.
Time cover: Time, Inc.
Wipeout, Flickr/CC: https://www.flickr.com/photos/andymorffew/15843725192
Marshmallow challenge: http://marshmallowchallenge.com/Welcome.html
Linux Collaboration Summit: Linux Foundation.
Two pizzas: Flickr/CC https://www.flickr.com/photos/dongkwan/283076601
Frog: Kathy CC/Flickr https://flic.kr/p/b9fFV
Square peg Flickr/CC: https://www.flickr.com/photos/epublicist/3546059144/

Weitere ähnliche Inhalte

Was ist angesagt?

1430 jeff gothelf - the ladders case study - sll-conf_2011_gothelf
1430   jeff gothelf - the ladders case study - sll-conf_2011_gothelf1430   jeff gothelf - the ladders case study - sll-conf_2011_gothelf
1430 jeff gothelf - the ladders case study - sll-conf_2011_gothelf
Eric Ries
 

Was ist angesagt? (20)

20 things you should know
20 things you should know20 things you should know
20 things you should know
 
Adapting Scrum in an Organization with Tailored Processes
Adapting Scrum in an Organization with Tailored ProcessesAdapting Scrum in an Organization with Tailored Processes
Adapting Scrum in an Organization with Tailored Processes
 
2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
 
2010 02 19 the lean startup - webstock 2010
2010 02 19 the lean startup - webstock 20102010 02 19 the lean startup - webstock 2010
2010 02 19 the lean startup - webstock 2010
 
Lean Startup: How Development Looks Different at a Startup
Lean Startup: How Development Looks Different at a StartupLean Startup: How Development Looks Different at a Startup
Lean Startup: How Development Looks Different at a Startup
 
Lean Startup Masterclass
Lean Startup MasterclassLean Startup Masterclass
Lean Startup Masterclass
 
Usability 2.0
Usability 2.0Usability 2.0
Usability 2.0
 
Leaping from Waterfall to Agility & Agile Innovation
Leaping from Waterfall to Agility & Agile InnovationLeaping from Waterfall to Agility & Agile Innovation
Leaping from Waterfall to Agility & Agile Innovation
 
Spotify Running: Lessons learned from building a ‘Lean Startup’ inside a big ...
Spotify Running: Lessons learned from building a ‘Lean Startup’ inside a big ...Spotify Running: Lessons learned from building a ‘Lean Startup’ inside a big ...
Spotify Running: Lessons learned from building a ‘Lean Startup’ inside a big ...
 
What the f**k is lean startup and why should I care?
What the f**k is lean startup and why should I care?What the f**k is lean startup and why should I care?
What the f**k is lean startup and why should I care?
 
DevOps MythBusters
DevOps MythBustersDevOps MythBusters
DevOps MythBusters
 
Intro to Lean Software Development
Intro to Lean Software DevelopmentIntro to Lean Software Development
Intro to Lean Software Development
 
Lean startup
Lean startupLean startup
Lean startup
 
Consuming DevOps: How Upstream DevOps Initiatives Disrupted our Downstream Co...
Consuming DevOps: How Upstream DevOps Initiatives Disrupted our Downstream Co...Consuming DevOps: How Upstream DevOps Initiatives Disrupted our Downstream Co...
Consuming DevOps: How Upstream DevOps Initiatives Disrupted our Downstream Co...
 
Introduction
IntroductionIntroduction
Introduction
 
Use Lean Startup Techniques on a Remote Team by William Donnell - The Lean St...
Use Lean Startup Techniques on a Remote Team by William Donnell - The Lean St...Use Lean Startup Techniques on a Remote Team by William Donnell - The Lean St...
Use Lean Startup Techniques on a Remote Team by William Donnell - The Lean St...
 
12 Months of Failure: Lessons Learned in Year One of Bromford Lab
12 Months of Failure: Lessons Learned in Year One of Bromford Lab12 Months of Failure: Lessons Learned in Year One of Bromford Lab
12 Months of Failure: Lessons Learned in Year One of Bromford Lab
 
Lean Startup in the Enterprise
Lean Startup in the EnterpriseLean Startup in the Enterprise
Lean Startup in the Enterprise
 
1430 jeff gothelf - the ladders case study - sll-conf_2011_gothelf
1430   jeff gothelf - the ladders case study - sll-conf_2011_gothelf1430   jeff gothelf - the ladders case study - sll-conf_2011_gothelf
1430 jeff gothelf - the ladders case study - sll-conf_2011_gothelf
 
Eric Ries sllconf keynote: state of the lean startup movement
Eric Ries sllconf keynote: state of the lean startup movementEric Ries sllconf keynote: state of the lean startup movement
Eric Ries sllconf keynote: state of the lean startup movement
 

Ähnlich wie Fail Fast, Fail Often

The Good, The Bad, and The Metrics
 The Good, The Bad, and The Metrics The Good, The Bad, and The Metrics
The Good, The Bad, and The Metrics
TeamQualityPro
 
AME Conference - Best Practice L-3 Wescam - Quick Hits An Engagement Strategy
AME Conference - Best Practice L-3 Wescam - Quick Hits An Engagement StrategyAME Conference - Best Practice L-3 Wescam - Quick Hits An Engagement Strategy
AME Conference - Best Practice L-3 Wescam - Quick Hits An Engagement Strategy
Erin Swindall, PMP, LSSBB
 
2010 10 28 the lean startup at ucsd
2010 10 28 the lean startup at ucsd2010 10 28 the lean startup at ucsd
2010 10 28 the lean startup at ucsd
Eric Ries
 
From good to great emetrics_dc_keynote
From good to great emetrics_dc_keynoteFrom good to great emetrics_dc_keynote
From good to great emetrics_dc_keynote
Ed Wu
 

Ähnlich wie Fail Fast, Fail Often (20)

CFW - Continuous Improvement & Lean Techniques
CFW - Continuous Improvement & Lean TechniquesCFW - Continuous Improvement & Lean Techniques
CFW - Continuous Improvement & Lean Techniques
 
Ericriesleanstartuppresentationforweb2
Ericriesleanstartuppresentationforweb2Ericriesleanstartuppresentationforweb2
Ericriesleanstartuppresentationforweb2
 
What do the "Cool Kids" know about DevOps?
What do the "Cool Kids" know about DevOps?What do the "Cool Kids" know about DevOps?
What do the "Cool Kids" know about DevOps?
 
Continuous Delivery Decision points
Continuous Delivery Decision pointsContinuous Delivery Decision points
Continuous Delivery Decision points
 
The Good, The Bad, and The Metrics
 The Good, The Bad, and The Metrics The Good, The Bad, and The Metrics
The Good, The Bad, and The Metrics
 
2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc
 
Lean Principles: Reduce Waste, Add Value, & Build Operational Excellence
Lean Principles: Reduce Waste, Add Value, & Build Operational ExcellenceLean Principles: Reduce Waste, Add Value, & Build Operational Excellence
Lean Principles: Reduce Waste, Add Value, & Build Operational Excellence
 
Lean startup
Lean startup Lean startup
Lean startup
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
AME Conference - Best Practice L-3 Wescam - Quick Hits An Engagement Strategy
AME Conference - Best Practice L-3 Wescam - Quick Hits An Engagement StrategyAME Conference - Best Practice L-3 Wescam - Quick Hits An Engagement Strategy
AME Conference - Best Practice L-3 Wescam - Quick Hits An Engagement Strategy
 
Testers, while you were sleeping: The DevOps Tsunami
Testers, while you were sleeping: The DevOps TsunamiTesters, while you were sleeping: The DevOps Tsunami
Testers, while you were sleeping: The DevOps Tsunami
 
Adopting Agile
Adopting AgileAdopting Agile
Adopting Agile
 
2010 10 28 the lean startup at ucsd
2010 10 28 the lean startup at ucsd2010 10 28 the lean startup at ucsd
2010 10 28 the lean startup at ucsd
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...
 
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
 
Lean applied in Project Management
Lean applied in Project ManagementLean applied in Project Management
Lean applied in Project Management
 
Tester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CDTester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CD
 
From good to great emetrics_dc_keynote
From good to great emetrics_dc_keynoteFrom good to great emetrics_dc_keynote
From good to great emetrics_dc_keynote
 
Jan de Vries - How to convince your boss that it is DevOps that he wants
Jan de Vries - How to convince your boss that it is DevOps that he wantsJan de Vries - How to convince your boss that it is DevOps that he wants
Jan de Vries - How to convince your boss that it is DevOps that he wants
 

Mehr von Gordon Haff

Optimizing the Ops in DevOps
Optimizing the Ops in DevOpsOptimizing the Ops in DevOps
Optimizing the Ops in DevOps
Gordon Haff
 

Mehr von Gordon Haff (20)

Artificial Intelligence: Beyond Machine Learning
Artificial Intelligence: Beyond Machine LearningArtificial Intelligence: Beyond Machine Learning
Artificial Intelligence: Beyond Machine Learning
 
Blockchains for Business 101
Blockchains for Business 101Blockchains for Business 101
Blockchains for Business 101
 
Preserving privacy while sharing data
Preserving privacy while sharing dataPreserving privacy while sharing data
Preserving privacy while sharing data
 
Lightning Talk: Using Data without Compromising Privacy
Lightning Talk: Using Data without Compromising PrivacyLightning Talk: Using Data without Compromising Privacy
Lightning Talk: Using Data without Compromising Privacy
 
Free and Open:An Historical Perspective
Free and Open:An Historical PerspectiveFree and Open:An Historical Perspective
Free and Open:An Historical Perspective
 
Why do we contribute (to open source)?
Why do we contribute (to open source)?Why do we contribute (to open source)?
Why do we contribute (to open source)?
 
How do you get started in AI?
How do you get started in AI?How do you get started in AI?
How do you get started in AI?
 
The good the bad and the ugly: Getting started doing AI
The good the bad and the ugly: Getting started doing AIThe good the bad and the ugly: Getting started doing AI
The good the bad and the ugly: Getting started doing AI
 
Cloud-Native: A New Ecosystem for Putting Containers into Production
Cloud-Native:  A New Ecosystem for Putting Containers into ProductionCloud-Native:  A New Ecosystem for Putting Containers into Production
Cloud-Native: A New Ecosystem for Putting Containers into Production
 
Containers: Don't Skeu Them Up
Containers: Don't Skeu Them UpContainers: Don't Skeu Them Up
Containers: Don't Skeu Them Up
 
Cloud-Native: A New Ecosystem for Putting Containers into Production
Cloud-Native: A New Ecosystem for Putting Containers into ProductionCloud-Native: A New Ecosystem for Putting Containers into Production
Cloud-Native: A New Ecosystem for Putting Containers into Production
 
DevSecOps: The Open Source Way for CloudExpo 2018
DevSecOps: The Open Source Way for CloudExpo 2018DevSecOps: The Open Source Way for CloudExpo 2018
DevSecOps: The Open Source Way for CloudExpo 2018
 
AI: The Good, the Bad, and the Practical for CloudExpo 2018
AI: The Good, the Bad, and the Practical for CloudExpo 2018AI: The Good, the Bad, and the Practical for CloudExpo 2018
AI: The Good, the Bad, and the Practical for CloudExpo 2018
 
DevSecOps: The Open Source Way
DevSecOps: The Open Source WayDevSecOps: The Open Source Way
DevSecOps: The Open Source Way
 
Ten layers of container security for CloudCamp Nov 2017
Ten layers of container security  for CloudCamp Nov 2017Ten layers of container security  for CloudCamp Nov 2017
Ten layers of container security for CloudCamp Nov 2017
 
That's not a metric! Data for cloud-native success
That's not a metric! Data for cloud-native successThat's not a metric! Data for cloud-native success
That's not a metric! Data for cloud-native success
 
The Interesting IoT: Digitizing Operations
The Interesting IoT: Digitizing OperationsThe Interesting IoT: Digitizing Operations
The Interesting IoT: Digitizing Operations
 
A short history of packaging (Monkigras 2017)
A short history of packaging (Monkigras 2017)A short history of packaging (Monkigras 2017)
A short history of packaging (Monkigras 2017)
 
Optimizing the Ops in DevOps
Optimizing the Ops in DevOpsOptimizing the Ops in DevOps
Optimizing the Ops in DevOps
 
Containers: Don't Skeu Them Up. Use Microservices Instead.
Containers: Don't Skeu Them Up. Use Microservices Instead.Containers: Don't Skeu Them Up. Use Microservices Instead.
Containers: Don't Skeu Them Up. Use Microservices Instead.
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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
 
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
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 

Fail Fast, Fail Often

  • 1. FAIL FAST, FAIL OFTEN Gordon Haff @ghaff, Technology Evangelist William Henry @ipbabble, DevOps Strategy Lead 13 July 2016
  • 11. 11 Experiment by Peter Skillman, former VP of design at Palm
  • 12. 12 WHAT HE LEARNED • Kindergarteners do not spend 15 minutes in a bunch of status transactions trying to figure out who is going to be CEO of Spaghetti Corporation. • They don’t sit around talking about the problem. They just start building to determine what works and what doesn’t.
  • 13. SOFTWARE = GREAT MATCH FOR FAILING WELL 13
  • 15. 15 THE RIGHT SCOPE Constrain the impact of failure • Enable experimentation • Stop cascading of failures • Make deployments incremental, frequent, and routine events • Generally decouple activities and decisions from each other • Small, autonomous, bounded context services
  • 16. 16 SMALL • “Two pizza teams” • Well-defined functional units • Organized around business capabilities (Conway's Law)
  • 17. 17 AUTONOMOUS • Implementation changes can happen independently of other services • Data and functionality exposed only through service calls over the network • Designed to be externalizable • No back-doors
  • 18. 18 THE RIGHT APPROACH Continuously experiment, iterate, and improve • It’s about the process • Identify mistakes early • Establish safety nets • Fail and move on
  • 19. 19 THE PROCESS Involves people and communication • The most effective process have continuous communication - think scrums and kanban • Allows for collaboration that can identify failures before they happen • Allows for feedback to continuously improve and cultivate growth • Provides transparency
  • 20. 20 DEV LESSONS: BREAKING CODE VIOLENTLY Build in violent failures to highlight issues • C/C++ lessons: • Sanity check using assertions • Invariant checks • If ever I’m here in the code and these conditions aren’t met, then I have no business being here. Something is wrong and I should fail violently. • Involves tracing through the failure
  • 21. 21 AUTOMATED REGRESSION TESTING • As products and services evolve we discovered that maintaining and incrementally adding new tests became valuable • These tests were/are most often based on experienced failures and bugs • Scripts were developed to run nightly builds against various developer changes to test for regression • Testing tools evolved - proprietary and open source
  • 22. 22 OPS LESSONS: CHAOS MONKEY Test robustness of recovery using failure • Platform should provide uninterrupted services to the customer • Therefore: • Should always recover in acceptable amount of time • We should have random failures to ensure that changes have not regressed or caused new recovery problems http://understeer.hatenablog.com/entry/2012/02/29/224629
  • 23. 23 THE RIGHT WORKFLOW Repeatably automate for consistency • Goal is repeatable automation • Toyota’s yellow cord • Initially pipelines may be very different • Different tools • Traditional vs. “cloud native” • It’s a journey • Consolidation evolves naturally
  • 24. 24 DESIRABLE ENTERPRISE CI/CD WORKFLOW myRepo Project Repo CI Commit Push Pass/Fail Local Test Build Repo CD Release Repo Monitor Build Test Review/ Appr Deliver Deploy 3rd Party
  • 25. 25 CI/CD PIPELINE TOOLSET CI/CD Workflow UI gerrit
  • 26. 26 OPS LESSONS: RED/GREEN Configuration as code has built in failure Continuous Integration / Continuous Deployment Image & Package & Metadata Repository src repo Dev./Build QA Production in OHC Events
  • 27. 27 THE RIGHT INCENTIVES Align rewards and behavior with desirable outcomes • Incentives (advancement, money, recognition) need to reward trust, cooperation, and innovation • Peer reward systems also valuable • Individual has control over their own success • But people still have responsibility for their actions
  • 28. 28 THE RIGHT CULTURE Build systems and organizations that allow for failing well • Transparency • Even good decisions can have bad outcomes • Innovation inherently risky • Cut losses (avoid sunk cost fallacy) This is why open source is so successful!
  • 29. 29
  • 30. 30 BUT CULTURE ISN’T SOMETHING YOU JUST CHANGE • Lack of agreed-to model of what “right” culture looks like • Different organizations require different behaviors • Culture change is difficult to measure and quantify • Culture is very hard to impose • Culture is an output, not an input
  • 33. CREDITS 33 Tacoma Narrows Bridge: Barney Elliott; The Camera Shop - Screenshot taken from 16MM Kodachrome motion picture film by Barney Elliott. Time cover: Time, Inc. Wipeout, Flickr/CC: https://www.flickr.com/photos/andymorffew/15843725192 Marshmallow challenge: http://marshmallowchallenge.com/Welcome.html Linux Collaboration Summit: Linux Foundation. Two pizzas: Flickr/CC https://www.flickr.com/photos/dongkwan/283076601 Frog: Kathy CC/Flickr https://flic.kr/p/b9fFV Square peg Flickr/CC: https://www.flickr.com/photos/epublicist/3546059144/