Kanban for DevOps

55
Kanban for DevOps Cory Foy |@cory_foy | [email protected] Wednesday, July 16, 14

description

In this talk from the Triangle DevOps meetup, Cory Foy gives an overview of Kanban and how you can implement it on your team

Transcript of Kanban for DevOps

Page 1: Kanban for DevOps

Kanban for DevOpsCory Foy |@cory_foy | [email protected]

Wednesday, July 16, 14

Page 2: Kanban for DevOps

DevOps

Wednesday, July 16, 14

Page 3: Kanban for DevOps

Dev Ops

Deliver! Keep it Stable!

Wednesday, July 16, 14

Page 4: Kanban for DevOps

The Cloud

http://www.flickr.com/photos/johnmueller/52621490

Wednesday, July 16, 14

Page 5: Kanban for DevOps

What approaches have we tried?http://blog.siteground.com/siteground-staging/

Wednesday, July 16, 14

Page 6: Kanban for DevOps

Wednesday, July 16, 14

Page 7: Kanban for DevOps

Sprint Planning

Product Backlog

In Sprint?

Daily Standup

Do WorkSprint Demo

Retrospective

Done?Ship and Party!

Yes

No

Yes

No

RepeatDaily

Scrum ProductBacklog

Wednesday, July 16, 14

Page 8: Kanban for DevOps

ProductBacklog

Wednesday, July 16, 14

Page 9: Kanban for DevOps

Wednesday, July 16, 14

Page 10: Kanban for DevOps

Wednesday, July 16, 14

Page 11: Kanban for DevOps

Wednesday, July 16, 14

Page 12: Kanban for DevOps

Kanban

Wednesday, July 16, 14

Page 13: Kanban for DevOps

Card

Wednesday, July 16, 14

Page 14: Kanban for DevOps

Wednesday, July 16, 14

Page 15: Kanban for DevOps

Lean

Wednesday, July 16, 14

Page 16: Kanban for DevOps

LeanContinuous Process Flow

Use Pull Systems to Avoid Overproduction

Level Out the Workflow

Stop to Fix Problems

Use Standardized Tasks and Processes

Use Visual Controls

Become a Learning Organization (hansei / kaizen)Wednesday, July 16, 14

Page 17: Kanban for DevOps

LeanContinuous Process Flow

Use Pull Systems to Avoid Overproduction

Level Out the Workflow

Stop to Fix Problems

Use Standardized Tasks and Processes

Use Visual Controls

Become a Learning Organization (hansei / kaizen)

- Provide customers what they want, when they want it, in the amount they want

Wednesday, July 16, 14

Page 18: Kanban for DevOps

LeanContinuous Process Flow

Use Pull Systems to Avoid Overproduction

Level Out the Workflow

Stop to Fix Problems

Use Standardized Tasks and Processes

Use Visual Controls

Become a Learning Organization (hansei / kaizen)

- Bring Problems to the Surface

- Reduce to zero the amount of time work is idle

Wednesday, July 16, 14

Page 19: Kanban for DevOps

LeanContinuous Process Flow

Use Pull Systems to Avoid Overproduction

Level Out the Workflow

Stop to Fix Problems

Use Standardized Tasks and Processes

Use Visual Controls

Become a Learning Organization (hansei / kaizen)

- Unevenness causes waste in forecast, planning and

production, so work towards smooth work

Wednesday, July 16, 14

Page 20: Kanban for DevOps

LeanContinuous Process Flow

Use Pull Systems to Avoid Overproduction

Level Out the Workflow

Stop to Fix Problems

Use Standardized Tasks and Processes

Use Visual Controls

Become a Learning Organization (hansei / kaizen)

- Build into the system the capability of detecting

problems- Control of Error

Wednesday, July 16, 14

Page 21: Kanban for DevOps

LeanContinuous Process Flow

Use Pull Systems to Avoid Overproduction

Level Out the Workflow

Stop to Fix Problems

Use Standardized Tasks and Processes

Use Visual Controls

Become a Learning Organization (hansei / kaizen)

- Use simple visual indicators to know if in standard condition or

deviation- Reports should be one

page, even financial reports

Wednesday, July 16, 14

Page 22: Kanban for DevOps

LeanContinuous Process Flow

Use Pull Systems to Avoid Overproduction

Level Out the Workflow

Stop to Fix Problems

Use Standardized Tasks and Processes

Use Visual Controls

Become a Learning Organization (hansei / kaizen)

- Use stable, repeatable methods

- Capture the current method, learn from it, then capture the new method

Wednesday, July 16, 14

Page 23: Kanban for DevOps

LeanContinuous Process Flow

Use Pull Systems to Avoid Overproduction

Level Out the Workflow

Stop to Fix Problems

Use Standardized Tasks and Processes

Use Visual Controls

Become a Learning Organization (hansei / kaizen)

- Hansei - Relentless Reflection

- Kaizen - Continuous Improvement

Wednesday, July 16, 14

Page 24: Kanban for DevOps

LeanEliminate Waste

Amplify Learning

Decide as Late as Possible

Deliver as Fast as Possible

Empower the Team

Build Integrity In

See the Whole

Wednesday, July 16, 14

Page 25: Kanban for DevOps

LeanEliminate Waste

Amplify Learning

Decide as Late as Possible

Deliver as Fast as Possible

Empower the Team

Build Integrity In

See the Whole

- Waste are things not directly tied with bringing value to a customer

- Value is something someone would pay for

- Queues, Delays, Rework

Wednesday, July 16, 14

Page 26: Kanban for DevOps

LeanEliminate Waste

Amplify Learning

Decide as Late as Possible

Deliver as Fast as Possible

Empower the Team

Build Integrity In

See the Whole

- Every solution we create is unique

- Our product is about what is used, rather than how well

it met the requirements- Feedback is critical

Wednesday, July 16, 14

Page 27: Kanban for DevOps

LeanEliminate Waste

Amplify Learning

Decide as Late as Possible

Deliver as Fast as Possible

Empower the Team

Build Integrity In

See the Whole

- We decide Schedule, Scope, Cost at the beginning of a

project- Don’t make critical decisions

when you know the least!

Wednesday, July 16, 14

Page 28: Kanban for DevOps

LeanEliminate Waste

Amplify Learning

Decide as Late as Possible

Deliver as Fast as Possible

Empower the Team

Build Integrity In

See the Whole

- The longer work is in progress, the more time it has

to collect bugs- Once you’ve decided a

feature is necessary, deliver it!- Unrealized features are

inventory

Wednesday, July 16, 14

Page 29: Kanban for DevOps

LeanEliminate Waste

Amplify Learning

Decide as Late as Possible

Deliver as Fast as Possible

Empower the Team

Build Integrity In

See the Whole

- Most people want to do the best job they can

- Let them help set and understand policies

Wednesday, July 16, 14

Page 30: Kanban for DevOps

LeanEliminate Waste

Amplify Learning

Decide as Late as Possible

Deliver as Fast as Possible

Empower the Team

Build Integrity In

See the Whole

- Perceived vs Conceptual Integrity

- Focus on Quality from the beginning

Wednesday, July 16, 14

Page 31: Kanban for DevOps

LeanEliminate Waste

Amplify Learning

Decide as Late as Possible

Deliver as Fast as Possible

Empower the Team

Build Integrity In

See the Whole

- Root Cause Analysis- Retrospectives- Visualization

Systems Thinking-

Wednesday, July 16, 14

Page 32: Kanban for DevOps

Getting Started

Wednesday, July 16, 14

Page 33: Kanban for DevOps

Determine the Types of Work

Wednesday, July 16, 14

Page 34: Kanban for DevOps

Determine the Types of Work

By Priority By Type

Expedite

Fixed Date

Standard

Intangible

Server Move

Code Deploy

Network

Performance

Investigation

Outage

Wednesday, July 16, 14

Page 35: Kanban for DevOps

Visualize your Workflow

Wednesday, July 16, 14

Page 36: Kanban for DevOps

Wednesday, July 16, 14

Page 37: Kanban for DevOps

Wednesday, July 16, 14

Page 38: Kanban for DevOps

Set Explicit Policies

Wednesday, July 16, 14

Page 39: Kanban for DevOps

Wednesday, July 16, 14

Page 40: Kanban for DevOps

Make All Work Visible

Wednesday, July 16, 14

Page 41: Kanban for DevOps

Wednesday, July 16, 14

Page 42: Kanban for DevOps

Measure Cycle Time

Wednesday, July 16, 14

Page 43: Kanban for DevOps

Wednesday, July 16, 14

Page 44: Kanban for DevOps

Wednesday, July 16, 14

Page 45: Kanban for DevOps

Limit WIP As Necessary

Wednesday, July 16, 14

Page 46: Kanban for DevOps

Wednesday, July 16, 14

Page 47: Kanban for DevOps

Wednesday, July 16, 14

Page 48: Kanban for DevOps

Wednesday, July 16, 14

Page 49: Kanban for DevOps

Don’t Forget Cadences

Wednesday, July 16, 14

Page 50: Kanban for DevOps

Wednesday, July 16, 14

Page 51: Kanban for DevOps

Use Models to Recognize Improvement Opportunities

Wednesday, July 16, 14

Page 52: Kanban for DevOps

Muda (Waste)

Wednesday, July 16, 14

Page 53: Kanban for DevOps

Comparing to Scrum

Wednesday, July 16, 14

Page 54: Kanban for DevOps

Recreating Scrum with Kanban

http://blog.coryfoy.com/2011/07/recreating-scrum-using-kanban-and-explicit-policies/

2 Week Sprint

SprintPlanning

SprintDemo

Retros(2 Weeks)

(2 Weeks)

(2 Weeks)

2 Weeks!

2 Weeks!

2 Weeks!

1 Week!

On Demand!

Velocity

Wednesday, July 16, 14

Page 55: Kanban for DevOps

Cory [email protected]

@cory_foy

prettykoolapps.com

http://www.coryfoy.comhttp://blog.coryfoy.com

Wednesday, July 16, 14