Top Banner
DevOps is not enough Embedding DevOps in a broader context Uwe Friedrichsen – codecentric AG – 2014-2016
91

DevOps is not enough - Embedding DevOps in a broader context

Jan 08, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DevOps is not enough - Embedding DevOps in a broader context

DevOps is not enough Embedding DevOps in a broader context

Uwe Friedrichsen – codecentric AG – 2014-2016

Page 2: DevOps is not enough - Embedding DevOps in a broader context

@ufried Uwe Friedrichsen | [email protected] | http://slideshare.net/ufried | http://ufried.tumblr.com

Page 3: DevOps is not enough - Embedding DevOps in a broader context

What is the current state of affairs?

Page 4: DevOps is not enough - Embedding DevOps in a broader context

IT today

Page 5: DevOps is not enough - Embedding DevOps in a broader context

IT today

•  Faster

•  Cheaper

•  Digitization

•  Disruption

•  New technologies

Page 6: DevOps is not enough - Embedding DevOps in a broader context

DevOps

“Another buzzword for build and deployment automation”

“A team that moderates between Dev and Ops”

“You build it, you run it!”

“Isn’t that just a new word for ‘agile’?”

“It’s a mindset thing”

“Of course the new version of our product is ‘DevOps’!”

Perfect confusion of ideas

Page 7: DevOps is not enough - Embedding DevOps in a broader context

Let’s check the

“DevOps bible” http://itrevolution.com/books/phoenix-project-devops-book/

Page 8: DevOps is not enough - Embedding DevOps in a broader context

DevOps in a nutshell

Page 9: DevOps is not enough - Embedding DevOps in a broader context

The 3 ways of DevOps Systems thinking

Amplify feedback loops

Culture of continual experimentation & learning

http://itrevolution.com/the-three-ways-principles-underpinning-devops/

Page 10: DevOps is not enough - Embedding DevOps in a broader context

•  Maximize flow (minimize cycle times)

•  Optimize for global goals (holistic view)

•  Never pass defects downstream

•  Limit work in progress

•  Build systems and organizations that are safe to change

Ops Dev Business IT value chain Customer

Holistic optimization

Systems thinking

Page 11: DevOps is not enough - Embedding DevOps in a broader context

•  Facilitate constant flow of fast feedback from right-to-left

•  Create quality at source (provide knowledge where needed)

•  Create shared goals and shared pain for everyone involved

•  Implement fast automated test suites

•  Pervasively measure outcome (customer value), not output

Ops Dev Business IT value chain Customer

Amplify feedback loops

Page 12: DevOps is not enough - Embedding DevOps in a broader context

•  Create a culture that fosters two things •  Continual experimentation, taking risks and learning from success and failure

•  Understanding that repetition and practice is the prerequisite to mastery

•  Allocate at least 20% of available cycles to non-business requirements

•  Constantly reinforce that improvements are encouraged & celebrated

Ops Dev Business IT value chain Customer

Continual experimentation and learning

Page 13: DevOps is not enough - Embedding DevOps in a broader context

Okay, but …

Page 14: DevOps is not enough - Embedding DevOps in a broader context

Why is DevOps not enough?

Page 15: DevOps is not enough - Embedding DevOps in a broader context

A bit of background …

Page 16: DevOps is not enough - Embedding DevOps in a broader context

Evolution of economy & markets

Page 17: DevOps is not enough - Embedding DevOps in a broader context

Formal part of value creation Solution: machine

Dynamic part of value creation

Solution: man

sluggishness/low dynamic high dynamic high dynamic

The historical course of market dynamics and the recent rise of highly dynamic and complex markets

The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact.

t 1970/80 today

Age of crafts manu- facturing

Age of tayloristic industry

Age of global markets

1850/1900

Spacious markets, little competition

Local markets, high customi-zation

Outperformers exercise market pressure over conventional companies

We call the graph shown here the “Taylor Bathtub”. The “bathtub” curve

Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13

Page 18: DevOps is not enough - Embedding DevOps in a broader context

Formal part of value creation Solution: machine

Dynamic part of value creation

Solution: man

sluggishness/low dynamic high dynamic high dynamic

The historical course of market dynamics and the recent rise of highly dynamic and complex markets

The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact.

t 1970/80 today

Age of crafts manu- facturing

Age of tayloristic industry

Age of global markets

1850/1900

Spacious markets, little competition

Local markets, high customi-zation

Outperformers exercise market pressure over conventional companies

We call the graph shown here the “Taylor Bathtub”. Pre-industrial era

Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13

Tailor-made solutions

“Mastery is key to success”

Page 19: DevOps is not enough - Embedding DevOps in a broader context

Formal part of value creation Solution: machine

Dynamic part of value creation

Solution: man

sluggishness/low dynamic high dynamic high dynamic

The historical course of market dynamics and the recent rise of highly dynamic and complex markets

The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact.

t 1970/80 today

Age of crafts manu- facturing

Age of tayloristic industry

Age of global markets

1850/1900

Spacious markets, little competition

Local markets, high customi-zation

Outperformers exercise market pressure over conventional companies

We call the graph shown here the “Taylor Bathtub”. Industrial era

Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13

Cost-efficiently scale production

“Get more done with less people is key to success”

Page 20: DevOps is not enough - Embedding DevOps in a broader context

Formal part of value creation Solution: machine

Dynamic part of value creation

Solution: man

sluggishness/low dynamic high dynamic high dynamic

The historical course of market dynamics and the recent rise of highly dynamic and complex markets

The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact.

t 1970/80 today

Age of crafts manu- facturing

Age of tayloristic industry

Age of global markets

1850/1900

Spacious markets, little competition

Local markets, high customi-zation

Outperformers exercise market pressure over conventional companies

We call the graph shown here the “Taylor Bathtub”. Post-industrial era

Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13

Continuously respond to changing demands

“Continuous customer communication

is key to success”

Page 21: DevOps is not enough - Embedding DevOps in a broader context

Key drivers Industrial era

•  Cost-efficiency •  Scalability •  Repeatability •  Stability

•  Efficiency & scale

Post-industrial era

•  Cycle times •  Adaptability •  Flexibility •  Resilience

•  Effectiveness & speed

Page 22: DevOps is not enough - Embedding DevOps in a broader context

Evolution of IT

Page 23: DevOps is not enough - Embedding DevOps in a broader context

1960 1970 1980 1990 2000 2010 2020

Complicated

(Business functions)

Complex

(Business processes)

Highly complex

(Business nervous system)

Software crisis

Software engineering

PC

LAN

Internet Business Support

of IT

Selective

Holistic

Complicated

Complex “Moore’s law”

Mobile IoT

Page 24: DevOps is not enough - Embedding DevOps in a broader context

1960 1970 1980 1990 2000 2010 2020

Complicated

(Business functions)

Complex

(business processes)

Highly complex

(Business nervous system)

Software crisis

Software engineering

PC

LAN

Internet Business Support

of IT

Selective

Holistic

Complicated

Complex “Moore’s law”

Mobile IoT

We are here …

Page 25: DevOps is not enough - Embedding DevOps in a broader context

1960 1970 1980 1990 2000 2010 2020

Complicated

(Business functions)

Complex

(business processes)

Highly complex

(Business nervous system)

Software crisis

Software engineering

PC

LAN

Internet Business Support

of IT

Selective

Holistic

Complicated

Complex “Moore’s law”

Mobile IoT

… but we still base most of our decisions on that

We are here …

Page 26: DevOps is not enough - Embedding DevOps in a broader context

Formal part of value creation Solution: machine

Dynamic part of value creation

Solution: man

sluggishness/low dynamic high dynamic high dynamic

The historical course of market dynamics and the recent rise of highly dynamic and complex markets

The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact.

t 1970/80 today

Age of crafts manu- facturing

Age of tayloristic industry

Age of global markets

1850/1900

Spacious markets, little competition

Local markets, high customi-zation

Outperformers exercise market pressure over conventional companies

We call the graph shown here the “Taylor Bathtub”. Remember the bathtub curve?

This adds an additional twist …

Page 27: DevOps is not enough - Embedding DevOps in a broader context

1960 1970 1980 1990 2000 2010 2020

Complicated

(Business functions)

Complex

(business processes)

Highly complex

(Business nervous system)

Software crisis

Software engineering

PC

LAN

Internet Business Support

of IT

Selective

Holistic

Complicated

Complex “Moore’s law”

Mobile IoT

… but we still base most of our decisions on that

We are here …

Business is very different today …

… than it was back then

Page 28: DevOps is not enough - Embedding DevOps in a broader context

Business

Market

IT today is a …

… Nervous System

… Medium … Product

… Differentiator

Disruptive Technologies

Business Support Systems

Continuous Conversation Digitization

Page 29: DevOps is not enough - Embedding DevOps in a broader context

IT today is a key success factor to survive in a post-industrial market

Page 30: DevOps is not enough - Embedding DevOps in a broader context

The traditional IT “best practices” are counterproductive because they solve

a completely different problem

Page 31: DevOps is not enough - Embedding DevOps in a broader context

We need to rethink IT!

Page 32: DevOps is not enough - Embedding DevOps in a broader context

Rethinking IT

Page 33: DevOps is not enough - Embedding DevOps in a broader context

What are the new drivers?

Page 34: DevOps is not enough - Embedding DevOps in a broader context

IT

Post-Industrialism Highly dynamic markets

Economic Darwinism Lean startup/lean enterprise

Continuous design

Digitization IT as a product

Digital conversation Social media

Contextual computing

Disruption Innovation through disruption

Cloud, mobile, IoT, storage class memory Big data analytics

Data-driven enterprise

force change

on

Page 35: DevOps is not enough - Embedding DevOps in a broader context

What are the new goals?

Page 36: DevOps is not enough - Embedding DevOps in a broader context

IT

… be quick Short response times

Holistic IT value chain consideration

… be effective Focus on outcome, not output

… improve continuously Improvement as planned activity

needs to …

… be efficient Provide required throughput

… be robust High availability and adaptability

… be flexible Flexible response to changing needs

Page 37: DevOps is not enough - Embedding DevOps in a broader context

Process & Org needs to be …

Quick

Flexible Effective

Software needs to be …

Secure

Changeable Robust

… and improve continuously

Page 38: DevOps is not enough - Embedding DevOps in a broader context

Process & Org needs to be …

Software needs to be …

Quick

Flexible Effective Secure

Changeable Robust

… and improve continuously

How can we achieve the new goals?

Page 39: DevOps is not enough - Embedding DevOps in a broader context

What are the building blocks?

Page 40: DevOps is not enough - Embedding DevOps in a broader context

Adaption DevOps Systemic optimization Inspect and adapt Quick feedback loops Continuous improvement …

Process DevOps Agile Lean Feature Flow (no projects) Design Thinking …

Governance Beyond Budgeting Decentralized control Outcome-driven Lean EAM …

Organization DevOps Autonomous teams Cross-functional teams End-2-end responsibility Routine task automation …

People Craftsmanship T-shaped Responsibility Curiosity Empathy …

Technology Cloud Automation Microservice Heterogeneity Resilience …

(Some) Building Blocks

Page 41: DevOps is not enough - Embedding DevOps in a broader context

The role of DevOps

Page 42: DevOps is not enough - Embedding DevOps in a broader context

Quick repetition …

Page 43: DevOps is not enough - Embedding DevOps in a broader context

The 3 ways of DevOps Systems thinking

Amplify feedback loops

Culture of continual experimentation & learning

http://itrevolution.com/the-three-ways-principles-underpinning-devops/

Page 44: DevOps is not enough - Embedding DevOps in a broader context

If taken seriously DevOps will eventually rotate your IT organization by 90°

Page 45: DevOps is not enough - Embedding DevOps in a broader context

Ops Dev IT value chain

Busin

ess

capa

bilit

ies

Spec

ialis

t tea

m (e

.g.,

prod

uct m

anag

er)

Spec

ialis

t tea

m (e

.g.,

UX e

xper

t)

Spec

ialis

t tea

m (e

.g.,

deve

lope

r)

Spec

ialis

t tea

m (e

.g.,

QA

expe

rt)

Spec

ialis

t tea

m (e

.g.,

sys

adm

in)

Spec

ialis

t tea

m (e

.g.,

DBA

)

Traditional IT organization

Page 46: DevOps is not enough - Embedding DevOps in a broader context

Ops Dev IT value chain

Busin

ess

capa

bilit

ies

Cross-functional product team

DevOps IT organization

Cross-functional product team

Cross-functional product team

Cross-functional product team

Page 47: DevOps is not enough - Embedding DevOps in a broader context

Ops Dev IT value chain

Busin

ess

capa

bilit

ies

Cross-functional product team

DevOps IT organization (optimized)

Cross-functional product team

Cross-functional product team

Cross-functional product team

Plat

form

team

API

Page 48: DevOps is not enough - Embedding DevOps in a broader context

DevOps also triggers a lot of additional changes

Page 49: DevOps is not enough - Embedding DevOps in a broader context

“Okay, let’s start with DevOps …”

Page 50: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Page 51: DevOps is not enough - Embedding DevOps in a broader context

“But our IT department is too big. We need to organize differently.”

Page 52: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Page 53: DevOps is not enough - Embedding DevOps in a broader context

“How can we enable the teams to become faster?”

Page 54: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Page 55: DevOps is not enough - Embedding DevOps in a broader context

“How can we manage those teams?”

Page 56: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Page 57: DevOps is not enough - Embedding DevOps in a broader context

“How can we control if the teams are on the right track?”

Page 58: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven

Page 59: DevOps is not enough - Embedding DevOps in a broader context

“We need to rethink our overall governance model.”

Page 60: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Page 61: DevOps is not enough - Embedding DevOps in a broader context

“How can we support autonomy on the architectural level?”

Page 62: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Microservices

Page 63: DevOps is not enough - Embedding DevOps in a broader context

“Can we help teams getting faster on the technological level?”

Page 64: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Microservices

Heterogeneity

Page 65: DevOps is not enough - Embedding DevOps in a broader context

“How can we ensure the required speed and flexibility

at the infrastructure level?”

Page 66: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Microservices

Heterogeneity

Cloud and Containers

Page 67: DevOps is not enough - Embedding DevOps in a broader context

“How can we guarantee high speed and high quality delivery?”

Page 68: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Microservices

Heterogeneity

Cloud and Containers

Continuous Delivery

Page 69: DevOps is not enough - Embedding DevOps in a broader context

“How can we guarantee high availability in production?”

Page 70: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Microservices

Heterogeneity

Cloud and Containers

Continuous Delivery

Resilience

Page 71: DevOps is not enough - Embedding DevOps in a broader context

“How can we manage all those moving parts in production?”

Page 72: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Microservices

Heterogeneity

Cloud and Containers

Continuous Delivery

Resilience

Operations automation

Page 73: DevOps is not enough - Embedding DevOps in a broader context

“How can we make sure the services of different teams

work smoothly together?”

Page 74: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Microservices

Heterogeneity

Cloud and Containers

Continuous Delivery

Resilience

Operations automation

Lean EAM

Page 75: DevOps is not enough - Embedding DevOps in a broader context

“How can we make our efforts sustainable?”

Page 76: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Microservices

Heterogeneity

Cloud and Containers

Continuous Delivery

Resilience

Operations automation

Lean EAM

Continuous improvement

Page 77: DevOps is not enough - Embedding DevOps in a broader context

“How do we get enough input for improvement?”

Page 78: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Microservices

Heterogeneity

Cloud and Containers

Continuous Delivery

Resilience

Operations automation

Lean EAM

Continuous improvement

Quick feedback loops

Page 79: DevOps is not enough - Embedding DevOps in a broader context

“How can we establish those quick feedback loops?”

Page 80: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Microservices

Heterogeneity

Cloud and Containers

Continuous Delivery

Resilience

Operations automation

Lean EAM

Continuous improvement

Quick feedback loops

Feature flow

Page 81: DevOps is not enough - Embedding DevOps in a broader context

“And what does this all mean for the people involved in this?”

Page 82: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Microservices

Heterogeneity

Cloud and Containers

Continuous Delivery

Resilience

Operations automation

Lean EAM

Continuous improvement

Quick feedback loops

Feature flow Craftsmanship & mastery

Page 83: DevOps is not enough - Embedding DevOps in a broader context

DevOps

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Outcome-driven Beyond budgeting

Microservices

Heterogeneity

Cloud and Containers

Continuous Delivery

Resilience

Operations automation

Lean EAM

Continuous improvement

Quick feedback loops

Feature flow Craftsmanship & mastery

T-Shaped people (being empathic)

Page 84: DevOps is not enough - Embedding DevOps in a broader context

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Microservices

Continuous Delivery

Heterogeneity

Cloud and Containers Resilience

Operations automation

Craftsmanship & mastery

Outcome-driven Beyond budgeting

Feature flow

Lean EAM

Continuous improvement

T-Shaped people (being empathic)

DevOps

Quick feedback loops

Curiosity

Page 85: DevOps is not enough - Embedding DevOps in a broader context

Cross-functional teams (organized by business capabilities)

Autonomy (incl. E2E responsibility)

Decentralized control

Microservices

Continuous Delivery

Heterogeneity

Cloud and Containers Resilience

Operations automation

Craftsmanship & mastery

Outcome-driven Beyond budgeting

Feature flow

Lean EAM

Continuous improvement

T-Shaped people (being empathic)

DevOps

Quick feedback loops

Curiosity

Page 86: DevOps is not enough - Embedding DevOps in a broader context

DevOps drives the implementation of the new IT

Page 87: DevOps is not enough - Embedding DevOps in a broader context

Wrap-up

•  Markets have changed

•  IT has changed

•  The role of IT has changed

•  New drivers

•  New goals

•  New building blocks

•  DevOps results in a re-org of IT

•  DevOps drives implementation of a new IT

Page 88: DevOps is not enough - Embedding DevOps in a broader context

We need to rethink IT!

Join the most disruptive and exciting change we have seen in IT for many years

Page 89: DevOps is not enough - Embedding DevOps in a broader context

Some recommended reading

Page 90: DevOps is not enough - Embedding DevOps in a broader context

@ufried Uwe Friedrichsen | [email protected] | http://slideshare.net/ufried | http://ufried.tumblr.com

Page 91: DevOps is not enough - Embedding DevOps in a broader context