Making kanban work for you
-
Upload
jez-halford -
Category
Software
-
view
334 -
download
0
description
Transcript of Making kanban work for you
Making Kanban Work For You
Jez Halford
Hi there
I’m Jez, a freelance PHP developer.
@jezhalford
www.jezhalford.com
KanbanJapanese for
“Signal Card”
看板
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/
Kanban
● Establishes the stages through which work moves in order to be considered “done”
● Tries to ensure work is delivered at a constant rate
Kanban
Schedule Develop Test Deliver
Kanban
Schedule Develop Test Deliver
Scrum
Kanban
Schedule Develop Test Deliver
Kanban
The core principles
● Visualise workflow
● Limit work-in-progress
● Manage flow
Café Culture
Café Culture
● Showing customers to tables● Taking orders● Delivering orders to tables● Clearing tables● Taking payment
Café Culture
Show customers to tables
Take orders Deliver orders Clear tables Take payment
Show customers to tables
Take orders Deliver orders Clear tables Take payment
Café Culture
Café Culture
Show customers to tables
Take orders Deliver orders Clear tables Take payment
Café Culture
Show customers to tables
Take orders Deliver orders Clear tables Take payment
Café Culture
Show customers to tables
Take orders Deliver orders Clear tables Take payment
Café Culture
Show customers to tables
Take orders Deliver orders Clear tables Take payment
Café Culture
Show customers to tables
Take orders Deliver orders Clear tables Take payment
Café Culture
Show customers to tables
Take orders Deliver orders Clear tables Take payment
I am not running a café
What’s your process?
● Backlog?● Development?● Code Review?● Testing?● Release?
Kanban Board
Image: http://leansoftwareengineering.com/2007/10/27/kanban-bootstrap/
Start with what you do now
Backlog Being Developed
QA Release Done
Limit Work In Progress
Backlog
(5)
Being Developed
(5)
QA
(2)
Release
(2)
Done
(10)
Manage Flow
To Develop
(5)
Being Developed
(5)
Ready For QA
(5)
Being QA’d
(2)
Ready to Release
(2)
Releasing
(2)
Finished
(10)
Manage Flow
To Develop
(5)
Being Developed
(5)
Ready For QA
(5)
Being QA’d
(2)
Ready to Release
(2)
Releasing
(2)
Finished
(10)
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
Blockers
What if I can’t make progress on my thing?
#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
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
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
KANBANNED!
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
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.
Kanban is not so good for
● Starting new projects.
● Very scope-limited or short term projects.
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
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
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
Stand Ups
● Do you still need them?
● Have one person lead the stand up and ask for comment on ongoing tasks.
Epic Clustering
● Epics are features too large to estimate.
● Large issues can’t traverse the board in a timely manner
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.
Epic Clustering
● Issues may need to pass some phases as a whole.
● Clustering!
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
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
~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
~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
To Develop
(5)
Being Developed
(5)
Ready For QA
(5)
Being QA’d
(2)
Ready to Release
(2)
Releasing
(2)
Finished
(10)
Swim Lanes
Sticky
● Post-its are not generallysticky enough
● Super StickyPost-its are theanswer!
● Keep the board clean
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.
Kaizen
改善 “Good Change”● If your board needs to change, change it.
● Always be sure to share changes with the whole team.
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.
Kanban
● Model your process as it stands, don’t change everything before you start.
● Then add buffers and limits to refine your workflow.
Kanban
● Act on blockers immediately.
● Aim to fix issues permanently.
Kanban
● The rules are deliberately flexible.
● It’s your Kanban board - change it if you need to.
● Make sure everyone is kept informed.
Thanks for listening
joind.in/11789
@jezhalford www.jezhalford.com