80

How to get started with DevOps

Embed Size (px)

Citation preview

Page 1: How to get started with DevOps
Page 2: How to get started with DevOps

www.devopsguys.com | Phone: 0800 368 7378 | e-mail: [email protected] | 2017

How to get started in DevOpsPractical advice on your DevOps Transformation

in 82 slides in 45 minutes…

Page 3: How to get started with DevOps

3

Agenda

•DevOps 101 re-cap•Getting started with DevOps

•9 Steps to DevOps•Q&A

Page 4: How to get started with DevOps

DevOps in 4 slides in 2 minutesJust so we’re all on the same page about this DevOps

thing… Start the clock!

Page 5: How to get started with DevOps

5

“A set of patterns, practices and behaviours that are

correlated with high-performing IT teams.”

DevOps – Defined #1

Page 6: How to get started with DevOps

6

DevOps = Continuous Delivery + Operability

Agile Software Development +

Continuous Integration +

Test Automation +Release Automation

= Continuous Delivery

DevOps = Agile ++

OPERABILITYScalability

Deployability

Resilience

Monitoring Alerting

Disaster Recovery

Supportability

Maintainability

+

Page 7: How to get started with DevOps

7

Continuous Delivery

“Our highest priority is to satisfy the customer through early and continuous delivery of valuable

software”

Page 8: How to get started with DevOps

8

The DevOps “CALMS” model

• Culture• Automation• Lean• Measurement• Sharing

Page 9: How to get started with DevOps

How to get started in DevOpsPart 1 – Shift your Mindset to Systems Thinking

Page 10: How to get started with DevOps

10

Gene Kim’s “3 Ways” of DevOps

Client Logo

Page 11: How to get started with DevOps

11

The Busines

sI.T.

Page 12: How to get started with DevOps

12

Dev Ops

Page 13: How to get started with DevOps

13

Systems Thinking

Society

Customer

Business

I.T.

Dev

Ops

Page 14: How to get started with DevOps

14

Business

Department

Team

You

Values

Policies

Procedures

Behaviours

Cultu

re“T

he w

ay th

ings

are

don

e ar

ound

he

re”

Page 15: How to get started with DevOps

15

This isn’t an easy Transformation…

From… Key Success Factor To…

Command & Control Management Style Autonomous

Conservative Attitude to Change Experimental

Silo Organisation Structure Collaborative

Project-focussed Delivery Focus Product-centric

Waterfall Delivery Model Iterative (Agile)

Large (Huge) Batch size Smallest possible

Monolithic Systems Architecture Loosely coupled

Proprietary Technology Open (Source)

Manual Processes Automated

Page 16: How to get started with DevOps

How to get started in DevOpsPart 2 – Build the Foundations

Page 17: How to get started with DevOps

18

3 Foundational Practices

1. #MakeWorkVisible2. #MeasureWhatsImportant

3. #ActOnFeedback

Page 18: How to get started with DevOps

19

#MakeWorkVisible

Page 19: How to get started with DevOps

20https://communitiesinnature.wordpress.com/2012/04/10/our-gantt-chart-is-finished-westonbirt-arboretums-hidden-voices-project/

XA Gannt Chart is NOT visualising

work

Page 20: How to get started with DevOps

21https://leankit.com/learn/kanban/kanban-board-examples-for-development-and-operations/

A KANBAN Board *IS* Visualising

Work

Page 21: How to get started with DevOps

22

To Do

Some Stuff to Do

Ready

Stuff Ready

to Action

In-Progress

This is what I’m

doing right now!

DoneDone and signed off

by everyone.

“Done Done.”

Sticky Label Design "© Copyright Showeet.com"

And it’ll be done when it’s done…

So stop bugging me for status

updates and go check the

board…

Page 22: How to get started with DevOps

23http://www.thebeardly.com/2011/08/measuring-shirt.html

#MeasureWhatsImportant

Page 23: How to get started with DevOps

24

4 Most Commonly Cited DevOps Metrics• Deployment Frequency• MTTR – Mean Time to Recover• Change Failure Rate• Lead Time & Process Time

2016 State of DevOps Report | presented by Puppet + DORA

Wait Time Process Time

Lead Time (Start to Finish)

Page 24: How to get started with DevOps

25

Goodhart’s Law

“When a measure becomes a target, it ceases to be a good

measure.”

“If a measurement can’t be used to improve the system (via feedback) then it’s useless” – Steve’s Corollary

https://en.wikipedia.org/wiki/Goodhart%27s_law

Page 25: How to get started with DevOps

26

3 Levels of Measurement

• Customer Satisfaction – measure what matters to them (and not what you THINK matters to them)

• Capability – internal capability measures aligned to customer demands

• Process – measuring the value stream of processes that create that capability

“The Vanguard Guide to Using Measures for Performance Improvement” (2001)

Page 26: How to get started with DevOps

27

Example of metricsCustomer Need

Customer Measure

Capability Metric

Process Metrics

• Features delivered quickly

• % Feature delivered as agreed

• Average Lead Time

• % availability of Test environments

• % of re-work required• Monthly cloud hosting spend

Page 27: How to get started with DevOps

28

#ActOnFeedback

Page 28: How to get started with DevOps

29

Gene Kim’s “3 Ways” of DevOps

Page 29: How to get started with DevOps

30

Involve everybody in the feedback process

Hint: Invite Ops to the retrospectives, sprint planning and backlog

grooming.

Page 30: How to get started with DevOps

31

Page 31: How to get started with DevOps

32

5 Practical Ways to #ActOnFeedback1. Ensure Operability requirements have equal weight as

Functional requirements2. Use Pull Requests & Code Reviews – they are a quick

and effective feedback loop!3. Have regular retrospectives – create tickets to track

your retro actions4. Track Technical Debt and set a “debt ceiling” – new

work stops when the Tech Debt ceiling is exceeded5. Reserve 20% of effort for process improvement

Page 32: How to get started with DevOps

33

FEED THE WASTE SNAKE

Page 33: How to get started with DevOps

34

Page 34: How to get started with DevOps

35

How many times per day is the Andon Cord pulled in a typical

day at a Toyota manufacturing plant?

HT to @RealGeneKim for this example!

Page 35: How to get started with DevOps

36

3,500 times per day

Page 36: How to get started with DevOps

37

Should Toyota increase or decrease

this number?

Page 37: How to get started with DevOps

How to get started in DevOpsPart 2 – Change how we work

Page 38: How to get started with DevOps

39

3 Working Practices

4. #IdentifyTheGoal5. #BeAgile6. #DeliveryContinuously

Page 39: How to get started with DevOps

40#IdentifyTheGoal

Page 40: How to get started with DevOps

41

Page 41: How to get started with DevOps

42

• Sprint• 2 weeks

6 18

• Month• 2

sprints

Aspirational(60%)

• Quarter• 3

months

• Annual• 12

months

1 2 3 12Vision

Page 42: How to get started with DevOps

43

• Sprint• 2 weeks

6 18

• Month• 2

sprints

Aspirational(60%)

• Quarter• 3

months

• Annual• 12

months

1 2 3 12

Positive(70%)

VisionObjectives

Page 43: How to get started with DevOps

44

• Sprint• 2 weeks

6 18

• Month• 2

sprints

Aspirational(60%)

• Quarter• 3

months

• Annual• 12

months

1 2 3 12

Positive(70%)

Considered(80%)

VisionObjectivesPlan

Page 44: How to get started with DevOps

45

• Sprint• 2 weeks

6 18

• Month• 2

sprints

Aspirational(60%)

• Quarter• 3

months

• Annual• 12

months

1 2 3 12

Positive(70%)

Considered(80%)

Confident(95%)

VisionPlanTasks Objectives

Page 45: How to get started with DevOps

46

“Success is not checking a box.

Success is having an impact.

If you complete all tasks and nothing ever gets better,

that's not success.”  Christina Wodtke, OKR Coach

Page 46: How to get started with DevOps

47

#BeAgile

https://s-media-cache-ak0.pinimg.com/originals/a5/1f/30/a51f3037feaab79713a0df591f0988a8.gif

Page 47: How to get started with DevOps

48

#BeAgile

http://cubiclebot.com/wp-content/uploads/2012/10/1.gif

Page 48: How to get started with DevOps

49

Scrum

Lean

Kanban

XP

DSDM

SAFeX

Page 49: How to get started with DevOps

50

Scrum is popular

Image source: State of Agile Survey, 2015

X

Page 50: How to get started with DevOps

51

Daily Stand-Ups

Retrospectives

Burndowns

VelocityIteration Planning

Story Mapping

Planning PokerX

Page 51: How to get started with DevOps

52

The Agile Manifesto

• Individuals and interactions over processes and tools

•Working software over comprehensive documentation

•Customer collaboration over contract negotiation•Responding to change over following a plan

Page 52: How to get started with DevOps

54

Being Agile Delivers Results

Image source: State of Agile Survey, 2015

Page 53: How to get started with DevOps

#DeliverContinuously

Page 54: How to get started with DevOps

56

TIME

Page 55: How to get started with DevOps

57

Continuous DeliveryFrequent Release Events

WaterfallRare Release Events

Smoother EffortLess Risk

Effort PeaksHigh Risk

Time Time

Chan

ge

Chan

ge

Page 56: How to get started with DevOps

Gene Kim’s “3 Ways” of DevOps

Client Logo

Page 57: How to get started with DevOps

59

Automation is important

Comprehensive, fast and reliable test and

deployment automation

Trunk-based development &

continuous integration

Application code and app and system

configuration all in version control

Together, the factors on the left model

Continuous Delivery which leads to…

Lower levels of deployment pain

Higher levels of IT performance (higher

throughput & stability)

Lower change fail rates

Higher levels of org performance

(productivity, market share, profitability)

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2681909

Page 58: How to get started with DevOps

60

https://xebialabs.com/periodic-table-of-devops-tools/

Page 59: How to get started with DevOps

61

Page 60: How to get started with DevOps

How to get started in DevOpsPart 3 – Change our Organisation

Page 61: How to get started with DevOps

Cultu

re >

St

rate

gy

Page 62: How to get started with DevOps

64

3 Organisational Practices

7. #BuildTrust8. #AlignToValue9. #OptimiseFlow

Page 63: How to get started with DevOps

#BuildTrust

Page 64: How to get started with DevOps

66

Highest predictor of performance

The Study of Information Flow: A Personal Journey; Westrum, Ron

Page 65: How to get started with DevOps

67

How well do you identify with?• On my team, information is actively sought.• On my team, failures are learning opportunities, and messengers

of them are not punished.• On my team, responsibilities are shared.• On my team, cross-functional collaboration is encouraged and

rewarded.• On my team, failure causes enquiry.• On my team, new ideas are welcomed.

Page 66: How to get started with DevOps

68

#AlignToValue

http://www.reactiongifs.com/r/conga-line.gif

Page 67: How to get started with DevOps

www.devopsguys.comPhone: 0800 368 7378 | e-mail: [email protected]

@TheDevMgr

Page 68: How to get started with DevOps

70

OrganizationRoles TeamsCadenceTaxonomyPlanPractices

Alignment

Autonomy

“Let’s try to give our teams three things…. Autonomy, Mastery,

Purpose”

Page 69: How to get started with DevOps

71

Bugs

AlignmentEvery team and business tracks scenarios and features consistently.

AutonomyEvery team chooses how to manage stories and/or tasks

Page 70: How to get started with DevOps

72#OptimiseFlow

Page 71: How to get started with DevOps

73

James Smith
double logo in the bottom corner!
Page 72: How to get started with DevOps

74

“Any optimisation not made at the constraint is

an illusion”“The Phoenix Project”

Page 73: How to get started with DevOps

75

“Throughput is profitable, efficiency

is not” The Goal

Page 74: How to get started with DevOps

76

Deployment Lead Time Predicts• Ability for Dev and Ops to share a “common source of truth”• Effectiveness of our automated testing in the deployment

pipeline• Ability to quickly deploy into production without causing chaos

and disruption• Ability to detect and correct problems through monitoring• Ability for Dev and Ops to work together in a way that is “win /

win”• How quickly developers can get feedback on their work

• Testing, deploying, production outcomes, customer outcomes

Page 75: How to get started with DevOps

77

Thousands of teams +Micro services Architecture +

Continuous Delivery= 50 MILLION DEPLOYMENTS/YEAR

136K DEPLOYS/DAY

Page 76: How to get started with DevOps

How to get started in DevOpsPart 4 – Summary

Page 77: How to get started with DevOps

79

9 10 Steps To Getting Started in DevOps0. #SystemsThinking1. #MakeWorkVisible2. #MeasureWhatsImportant3. #ActOnFeedback4. #IdentifyTheGoal5. #BeAgile6. #DeliverContinuously7. #BuildTrust8. #AlignToValue9. #OptimiseForFlow

9 Steps To Getting Started in DevOps

Page 78: How to get started with DevOps

Questions?

Page 79: How to get started with DevOps

DevOps Solutions

DevOps Coaching

Workshops & Training

DevOps Engineering

Application Lifecyle Automation

DevOps Consultancy

DevOps, Agile & Cloud Strategy

ccelerateducate ransform