84
Combining Speed of Delivery and Quality in Complex Systems Manuel Pais | DevOps & Delivery Consultant @manupaisable | manuelpais.net

Combining Speed of Delivery and Quality in Complex Systems

Embed Size (px)

Citation preview

Page 1: Combining Speed of Delivery and Quality in Complex Systems

Combining Speed of Delivery and Quality in Complex Systems

Manuel Pais | DevOps & Delivery Consultant@manupaisable | manuelpais.net

Page 2: Combining Speed of Delivery and Quality in Complex Systems

About me

Manuel PaisMS Software Eng

@[email protected]

DevOps and Delivery ConsultantFocused on teams and flow

Page 3: Combining Speed of Delivery and Quality in Complex Systems

releasabilitybook.com

Co-author:

Team Guide to Software Releasability

by Chris O’Dell & Manuel Pais

About me

Page 4: Combining Speed of Delivery and Quality in Complex Systems

About me

Page 5: Combining Speed of Delivery and Quality in Complex Systems

Agenda

1. The Need for Speed (aka DevOps)

2. Failure = Quality in Complex Systems

3. Survival of High-Performing Cultures

Page 6: Combining Speed of Delivery and Quality in Complex Systems

2001: Agile Manifesto

2017201420082003

Java / Web Developer

Page 7: Combining Speed of Delivery and Quality in Complex Systems

Agile… Scrum

Page 8: Combining Speed of Delivery and Quality in Complex Systems

Agile… Scrum

Page 9: Combining Speed of Delivery and Quality in Complex Systems

Scrum, Scrum, Scrum

Page 10: Combining Speed of Delivery and Quality in Complex Systems

Scrum, Scrum, Scrum

Page 11: Combining Speed of Delivery and Quality in Complex Systems

Scrum, Scrum, Scrum

Page 12: Combining Speed of Delivery and Quality in Complex Systems

Scrum, Scrum, Scrum

Page 13: Combining Speed of Delivery and Quality in Complex Systems

Scrum, Scrum, Scrum

Page 14: Combining Speed of Delivery and Quality in Complex Systems

Wall of confusion

Page 15: Combining Speed of Delivery and Quality in Complex Systems

QALead

2009: DevOps

2017201420082003

Java / Web Developer

QAEngineer

BuildManager

Page 16: Combining Speed of Delivery and Quality in Complex Systems

“DevOps brought to the attention that two worlds, typically apart in a company, need to collaborate and that actually gives you a competitive edge”

–Patrick Deboisinfoq.com/interviews/debois-devops

Page 17: Combining Speed of Delivery and Quality in Complex Systems
Page 18: Combining Speed of Delivery and Quality in Complex Systems
Page 19: Combining Speed of Delivery and Quality in Complex Systems

Agile… Scrum… DevOps

Page 20: Combining Speed of Delivery and Quality in Complex Systems

Agile… Scrum… DevOps

Page 21: Combining Speed of Delivery and Quality in Complex Systems

Agile… Scrum… DevOps

Page 22: Combining Speed of Delivery and Quality in Complex Systems

“Agile System Administration was too long and too narrow… ”

–Patrick Debois

infoq.com/interviews/debois-devops

Page 23: Combining Speed of Delivery and Quality in Complex Systems
Page 24: Combining Speed of Delivery and Quality in Complex Systems

2010: Continuous Delivery

QALead

2017201420082003

Java / Web Developer

BuildManager

DevOps Consultant

QAEngineer

Page 25: Combining Speed of Delivery and Quality in Complex Systems

“ability to get changes of all types, into production, or into the hands

of users, safely and quickly in a sustainable way”

–Jez Humble

continuousdelivery.com

Page 26: Combining Speed of Delivery and Quality in Complex Systems

cdchecklist.info

Page 27: Combining Speed of Delivery and Quality in Complex Systems
Page 28: Combining Speed of Delivery and Quality in Complex Systems

Agenda

1. The Need for Speed (aka DevOps)

2. Failure = Quality in Complex Systems

3. Survival of High-Performing Cultures

Page 29: Combining Speed of Delivery and Quality in Complex Systems
Page 30: Combining Speed of Delivery and Quality in Complex Systems
Page 31: Combining Speed of Delivery and Quality in Complex Systems
Page 32: Combining Speed of Delivery and Quality in Complex Systems
Page 33: Combining Speed of Delivery and Quality in Complex Systems
Page 34: Combining Speed of Delivery and Quality in Complex Systems

Systems of systemsComplex run time dependencies

Vulnerable build time dependenciesFailure is endemic

Page 35: Combining Speed of Delivery and Quality in Complex Systems
Page 36: Combining Speed of Delivery and Quality in Complex Systems
Page 37: Combining Speed of Delivery and Quality in Complex Systems
Page 38: Combining Speed of Delivery and Quality in Complex Systems

“The zero-error fallacy”Researchers at MIT have shown that:

a) the more incidents an airline has, the lower the passenger mortality risk

b) construction sites with relatively more incidents in a given year have fewer worker deaths than those with

zero incidents.

https://techbeacon.com/zero-error-fallacy-what-really-counts-devops-teams

Page 39: Combining Speed of Delivery and Quality in Complex Systems

“The zero-error fallacy”Researchers at MIT have shown that:

a) the more incidents an airline has, the lower the passenger mortality risk

b) construction sites with relatively more incidents in a given year have fewer worker deaths than those with

zero incidents.

https://techbeacon.com/zero-error-fallacy-what-really-counts-devops-teams

Page 40: Combining Speed of Delivery and Quality in Complex Systems
Page 41: Combining Speed of Delivery and Quality in Complex Systems

Learning from FailureGreatest illusion is that the difference between excellent and crappy operations is the number of errors or failures

Page 42: Combining Speed of Delivery and Quality in Complex Systems

Learning from Failure

What makes a difference is the presence of positive capacities—in people, in teams, in the organization.

Greatest illusion is that the difference between excellent and crappy operations is the number of errors or failures

Page 43: Combining Speed of Delivery and Quality in Complex Systems

Learning from Failure

What makes a difference is the presence of positive capacities—in people, in teams, in the organization.

Greatest illusion is that the difference between excellent and crappy operations is the number of errors or failures

A safety culture is one in which the boss actually invites bad news, and may even reward it.

Page 44: Combining Speed of Delivery and Quality in Complex Systems

time between failures

time to repair

Page 45: Combining Speed of Delivery and Quality in Complex Systems

time between failures

time to repair

Page 46: Combining Speed of Delivery and Quality in Complex Systems
Page 47: Combining Speed of Delivery and Quality in Complex Systems
Page 48: Combining Speed of Delivery and Quality in Complex Systems

Development vs Maintenance

Page 49: Combining Speed of Delivery and Quality in Complex Systems

Development vs Maintenance

TEAM builds, deploys, runs, monitors and fixes+ Ops provides platform

Page 50: Combining Speed of Delivery and Quality in Complex Systems

DONE = deployed

Page 51: Combining Speed of Delivery and Quality in Complex Systems

DONE = deployed

DONE = monitored in production

Page 52: Combining Speed of Delivery and Quality in Complex Systems

DONE = deployed

DONE = monitored NOT in production

Page 53: Combining Speed of Delivery and Quality in Complex Systems

Incident reviews

http://www.slideshare.net/jhand2/its-not-your-fault-blameless-post-mortems

Page 54: Combining Speed of Delivery and Quality in Complex Systems
Page 55: Combining Speed of Delivery and Quality in Complex Systems
Page 56: Combining Speed of Delivery and Quality in Complex Systems

Chaos engineering

https://medium.com/netflix-techblog/chaos-engineering-upgraded-878d341f15fa

Page 57: Combining Speed of Delivery and Quality in Complex Systems

Wrong incentivesRewarding zero defects / fixing defects

Page 58: Combining Speed of Delivery and Quality in Complex Systems

Wrong incentives

Focus on simple/single metric

Rewarding zero defects / fixing defects

Page 59: Combining Speed of Delivery and Quality in Complex Systems

Wrong incentives

Focus on simple/single metric

Rewarding zero defects / fixing defects

Different IT teams with different goals

Page 60: Combining Speed of Delivery and Quality in Complex Systems
Page 61: Combining Speed of Delivery and Quality in Complex Systems

Right incentivesReward along business objectives

Page 62: Combining Speed of Delivery and Quality in Complex Systems

Right incentives

Combination of metrics (e.g. lead time + time to repair)

Reward along business objectives

Page 63: Combining Speed of Delivery and Quality in Complex Systems

Right incentives

Combination of metrics (e.g. lead time + time to repair)

Reward along business objectives

All IT teams share same objectives

Page 64: Combining Speed of Delivery and Quality in Complex Systems

High Performers Are More Agile

30x 200xmore frequent

deployments

faster lead times

than their peers

Source: Puppet Labs 2015 State Of DevOps: https://puppetlabs.com/2015-devops-report

Page 65: Combining Speed of Delivery and Quality in Complex Systems

High Performers Are More Reliable

60x 168xthe change

success rate

faster mean time

to recover (MTTR)

Source: Puppet Labs 2015 State Of DevOps: https://puppetlabs.com/2015-devops-report

Page 66: Combining Speed of Delivery and Quality in Complex Systems

Agenda

1. The Need for Speed (aka DevOps)

2. Failure = Quality in Complex Systems

3. Survival of High-Performing Cultures

Page 67: Combining Speed of Delivery and Quality in Complex Systems

source: http://continuousdelivery.com/implementing/culture

Culture Types

Page 68: Combining Speed of Delivery and Quality in Complex Systems

Blame Culture

Resistance to Change

Lack of Collaboration

Page 69: Combining Speed of Delivery and Quality in Complex Systems

Blame Culture

Resistance to Change

Lack of Collaboration

Page 70: Combining Speed of Delivery and Quality in Complex Systems

Blame Culture

Resistance to Change

Lack of Collaboration

Page 71: Combining Speed of Delivery and Quality in Complex Systems
Page 72: Combining Speed of Delivery and Quality in Complex Systems
Page 73: Combining Speed of Delivery and Quality in Complex Systems

Blameless

Continuous Learning

High Collaboration

Page 74: Combining Speed of Delivery and Quality in Complex Systems

Blameless

Continuous Learning

High Collaboration

Page 75: Combining Speed of Delivery and Quality in Complex Systems

Blameless

Continuous Learning

High Collaboration

Page 76: Combining Speed of Delivery and Quality in Complex Systems
Page 77: Combining Speed of Delivery and Quality in Complex Systems

___

http://itrevolution.com/speeding-scaling-devops-enterprise

Page 78: Combining Speed of Delivery and Quality in Complex Systems
Page 79: Combining Speed of Delivery and Quality in Complex Systems

Conclusion

Page 80: Combining Speed of Delivery and Quality in Complex Systems

Conclusion

People

Page 81: Combining Speed of Delivery and Quality in Complex Systems

Conclusion

PeopleProcess

Page 82: Combining Speed of Delivery and Quality in Complex Systems

Conclusion

PeopleProcessTools

Page 83: Combining Speed of Delivery and Quality in Complex Systems

References

Page 84: Combining Speed of Delivery and Quality in Complex Systems

Thank you!

Manuel PaisMS Software Eng

@[email protected]

DevOps and Delivery ConsultantFocused on teams and flow