making kanban work for you

57
Making Kanban Work For You Jez Halford

Upload: jez-halford

Post on 02-Dec-2014

334 views

Category:

Software


0 download

DESCRIPTION

These days, we know that agile is the way forward for most development work. We've moved on from the waterfall model and even large organisations are embracing the agile way of life. Or are they? Scrum is a hugely popular methodology, but it can be inflexible. It sometimes falls down in the face of business pressures and, let's be honest, sprint planning can be incredibly dull. Especially if you know it's all going out the window when the CEO changes his or her mind next week. Kanban might just be the answer. Kanban is amazing. It's an agile methodology that stands up to the real world, that never gets in the way, and that makes developers super-efficient. It transforms bored, miserable teams into highly motivated Post-It moving fanatics. It makes it easy to spot bottlenecks in your process and it gives you incredible insight into exactly where your development time is going. If your team are just getting started, or if they've been plugging away for years, Kanban can help. It's really useful for teams that are growing and for organisations that are looking to move from ad-hoc support and occasional new features to a more formalised development process. It can fix teams that are unproductive and turn failing projects around. To achieve great results with Kanban, though, you have to play by the rules and know how to introduce it to your team without causing a revolution. I'll be introducing the key principles of Kanban, explaining how it works and offering advice on getting started, and looking at how Kanban can help refine your development process to absolute perfection. This talk is for you if you're bored of sprint planning, you keep missing sprint goals, if your team is unproductive, if you've tried Kanban but are unconvinced or if you're just curious about agile generally.

TRANSCRIPT

Page 1: Making kanban work for you

Making Kanban Work For You

Jez Halford

Page 2: Making kanban work for you

Hi there

I’m Jez, a freelance PHP developer.

@jezhalford

www.jezhalford.com

Page 3: Making kanban work for you
Page 4: Making kanban work for you

KanbanJapanese for

“Signal Card”

看板

Page 5: Making kanban work for you

Created by

Taiichi Ohno Eiji Toyoda (1912-1990) (1913-2013)

Images: http://queaprendemoshoy.com/metodos-de-produccion-en-la-industria-del-automovil-el-metodo-toyota-ii/taiichi-ohno/http://www.produktion.de/personen/eiji-toyoda-im-alter-von-100-jahren-gestorben/

Page 6: Making kanban work for you

Kanban

● Establishes the stages through which work moves in order to be considered “done”

● Tries to ensure work is delivered at a constant rate

Page 7: Making kanban work for you

Kanban

Schedule Develop Test Deliver

Page 8: Making kanban work for you

Kanban

Schedule Develop Test Deliver

Scrum

Page 9: Making kanban work for you

Kanban

Schedule Develop Test Deliver

Kanban

Page 10: Making kanban work for you

The core principles

● Visualise workflow

● Limit work-in-progress

● Manage flow

Page 11: Making kanban work for you

Café Culture

Page 12: Making kanban work for you

Café Culture

● Showing customers to tables● Taking orders● Delivering orders to tables● Clearing tables● Taking payment

Page 13: Making kanban work for you

Café Culture

Show customers to tables

Take orders Deliver orders Clear tables Take payment

Page 14: Making kanban work for you

Show customers to tables

Take orders Deliver orders Clear tables Take payment

Café Culture

Page 15: Making kanban work for you

Café Culture

Show customers to tables

Take orders Deliver orders Clear tables Take payment

Page 16: Making kanban work for you

Café Culture

Show customers to tables

Take orders Deliver orders Clear tables Take payment

Page 17: Making kanban work for you

Café Culture

Show customers to tables

Take orders Deliver orders Clear tables Take payment

Page 18: Making kanban work for you

Café Culture

Show customers to tables

Take orders Deliver orders Clear tables Take payment

Page 19: Making kanban work for you

Café Culture

Show customers to tables

Take orders Deliver orders Clear tables Take payment

Page 20: Making kanban work for you

Café Culture

Show customers to tables

Take orders Deliver orders Clear tables Take payment

Page 21: Making kanban work for you

I am not running a café

What’s your process?

● Backlog?● Development?● Code Review?● Testing?● Release?

Page 22: Making kanban work for you

Kanban Board

Image: http://leansoftwareengineering.com/2007/10/27/kanban-bootstrap/

Page 23: Making kanban work for you

Start with what you do now

Backlog Being Developed

QA Release Done

Page 24: Making kanban work for you

Limit Work In Progress

Backlog

(5)

Being Developed

(5)

QA

(2)

Release

(2)

Done

(10)

Page 25: Making kanban work for you

Manage Flow

To Develop

(5)

Being Developed

(5)

Ready For QA

(5)

Being QA’d

(2)

Ready to Release

(2)

Releasing

(2)

Finished

(10)

Page 26: Making kanban work for you

Manage Flow

To Develop

(5)

Being Developed

(5)

Ready For QA

(5)

Being QA’d

(2)

Ready to Release

(2)

Releasing

(2)

Finished

(10)

Page 27: Making kanban work for you

Go Team!

To Develop

(5)

Being Developed

(5)

Ready For QA

(5)

Being QA’d

(2)

Ready to Release

(2)

Releasing

(2)

Finished

(10)

#1323

#293

#1289

#6834

#9584

#5756

#5546

#3432 #2332

#678

#1384 #6869Alice

Bob

Ada

Alan

Rasmus

Bryce

Page 28: Making kanban work for you

Blockers

What if I can’t make progress on my thing?

Page 29: Making kanban work for you

#6834

#9584

#5756

#3432

#5546

Blockers

To Develop

(5)

Being Developed

(5)

Ready For QA

(5)

Being QA’d

(2)

Blocked Ready to Release

(2)

Releasing

(2)

Finished

(10)

#1323

#293

#1289

#2332

#678

#1384 #6869Alice

Bob

Ada

Alan

Rasmus

Bryce

Page 30: Making kanban work for you

Blockers

To Develop

(5)

Being Developed

(5)

Ready For QA

(5)

Being QA’d

(2)

Ready to Release

(2)

Releasing

(2)

Finished

(10)

#1323

#293

#1289

#2332

#678

#1384 #6869Alice

Bob

Ada

Alan

Rasmus

Bryce

Need batteries for mouse!

#6834

#9584

#5756

#3432

#5546

Page 31: Making kanban work for you

Blockers

To Develop

(5)

Being Developed

(5)

Ready For QA

(5)

Being QA’d

(2)

Ready to Release

(2)

Releasing

(2)

Finished

(10)

#1323

#293

#1289

#2332

#678

#1384 #6869Rasmus Bryce

Need batteries for mouse!

Jenny#6834

#9584

#5756

#3432

#5546

Page 32: Making kanban work for you

KANBANNED!

Page 33: Making kanban work for you

Blockers

To Develop

(5)

Being Developed

(5)

Ready For QA

(5)

Being QA’d

(2)

Ready to Release

(2)

Releasing

(2)

Finished

(10)

#1323

#293

#1289 #678

#1384 #6869Bryce

Need batteries for mouse!

Jenny

#2332

#6834

#9584

#3432

#5756

#5546 Rasmus

Page 34: Making kanban work for you
Page 35: Making kanban work for you

Zen and the art of software maintenance

● Prevent developers becoming swamped and having to switch tasks.

● Allow managers to control what’s being worked on.

● Informs the wider company of what’s coming up.

Page 36: Making kanban work for you

Kanban is not so good for

● Starting new projects.

● Very scope-limited or short term projects.

Page 37: Making kanban work for you

Type Triage

● Are some issues more important than others?

● Identify issue types1. Bug2. Feature3. Refactoring

#1323 #1833#1256

Bug Feature Refactoring

● Blockers should always be highest priority

Page 38: Making kanban work for you

Cadence

● The rate at which work is delivered

● Regularly calculate your average “Cycle Time”

● Use it to inform how much work is fed in

● Build your schedule around it

Page 39: Making kanban work for you

Backlog

● Backlog management is an art

● Try to leave some space to add urgent issues

● Keep a mix of easy and difficult tasks

● The limit is still important

Page 40: Making kanban work for you

Stand Ups

● Do you still need them?

● Have one person lead the stand up and ask for comment on ongoing tasks.

Page 41: Making kanban work for you

Epic Clustering

● Epics are features too large to estimate.

● Large issues can’t traverse the board in a timely manner

Page 42: Making kanban work for you

Epic Clustering

● We still need to have planning meetings when one of these comes up.

● Aim is to break down the feature into chunks small enough to traverse the board in average cycle time.

Page 43: Making kanban work for you

Epic Clustering

● Issues may need to pass some phases as a whole.

● Clustering!

Page 44: Making kanban work for you

To Develop

(5)

Being Developed

(5)

Ready For QA

(5)

Being QA’d

(2)

Ready to Release

(2)

Releasing

(2)

Finished

(10)

Epic Clustering

#2332

~1

#233

2

~2

#233

2

~3

#233

2

~4

#233

2

Page 45: Making kanban work for you

Epic Clustering

To Develop

(5)

Being Developed

(5)

Ready For QA

(5)

Being QA’d

(2)

Ready to Release

(2)

Releasing

(2)

Finished

(10)

#2332 ~1

#233

2

~2

#233

2

~3

#233

2

~4

#233

2

Alice

#2332

Page 46: Making kanban work for you

~2

#233

2

Epic Clustering

To Develop

(5)

Being Developed

(5)

Ready For QA

(5)

Being QA’d

(2)

Ready to Release

(2)

Releasing

(2)

Finished

(10)

#2332 ~1

#233

2

~2

#233

2

~3

#233

2

~4

#233

2

Alice

#2332

~3

#233

2

~4

#233

2

Page 47: Making kanban work for you

~4#2

332~2

#233

2

Epic Clustering

To Develop

(5)

Being Developed

(5)

Ready For QA

(5)

Being QA’d

(2)

Ready to Release

(2)

Releasing

(2)

Finished

(10)

~1#2

332

#2332

~3#2

332

#2332

Page 48: Making kanban work for you

To Develop

(5)

Being Developed

(5)

Ready For QA

(5)

Being QA’d

(2)

Ready to Release

(2)

Releasing

(2)

Finished

(10)

Swim Lanes

Page 49: Making kanban work for you
Page 50: Making kanban work for you

Sticky

● Post-its are not generallysticky enough

● Super StickyPost-its are theanswer!

● Keep the board clean

Page 51: Making kanban work for you

Getting Going

● Start by modelling exactly what you do now - not what you’d like to be doing.

● Give it time to work, there will probably be an initial drop in productivity.

● Don’t cheat - don’t move issues backwards and don’t remove them prematurely.

● Don’t model too much.

Page 52: Making kanban work for you

Kaizen

改善 “Good Change”● If your board needs to change, change it.

● Always be sure to share changes with the whole team.

Page 53: Making kanban work for you

Kanban

● Kanban is all about what happens after you’ve decided to develop a feature.

● How or when you decide to develop it is up to you.

Page 54: Making kanban work for you

Kanban

● Model your process as it stands, don’t change everything before you start.

● Then add buffers and limits to refine your workflow.

Page 55: Making kanban work for you

Kanban

● Act on blockers immediately.

● Aim to fix issues permanently.

Page 56: Making kanban work for you

Kanban

● The rules are deliberately flexible.

● It’s your Kanban board - change it if you need to.

● Make sure everyone is kept informed.

Page 57: Making kanban work for you

Thanks for listening

joind.in/11789

@jezhalford www.jezhalford.com