Scrum with Kanban: Lean Kanban Russia 2014
-
Upload
jonathan-hansen -
Category
Leadership & Management
-
view
522 -
download
4
description
Transcript of Scrum with Kanban: Lean Kanban Russia 2014
@jonathansen
Scrum with Kanban
@jonathansen
Scrum with Kanban
Jonathan Hansen
Thumbtack Technology
NYC Lean Coffee
@jonathansen
Where’s the conflict?
SCRUM RULES !!• 3 Roles
Product Owner, Team Member Scrum Master !
• 4 MeeEngs Sprint Planning, Daily Scrum Sprint Review, Sprint RetrospecEve !
• 3 ArEfacts Product Backlog, Sprint Backlog Increment !!
@jonathansen
Where’s the conflict?
KANBAN METHOD !!!
• Visualize your work
• Limit your Work in Progress
• Manage Flow
• Make Policies Explicit
• Implement Feedback Loops
• Improve CollaboraEvely, Evolve Experimentally
SCRUM RULES !!• 3 Roles
Product Owner, Team Member Scrum Master !
• 4 MeeEngs Sprint Planning, Daily Scrum Sprint Review, Sprint RetrospecEve !
• 3 ArEfacts Product Backlog, Sprint Backlog Increment !!
@jonathansen
There is no conflict
&
SCRUM RULES !!
KANBAN METHOD !!!
• 3 Roles Product Owner, Team Member Scrum Master !
• 4 MeeEngs Sprint Planning, Daily Scrum Sprint Review, Sprint RetrospecEve !
• 3 ArEfacts Product Backlog, Sprint Backlog Increment !!
• Visualize your work
• Limit your Work in Progress
• Manage Flow
• Make Policies Explicit
• Implement Feedback Loops
• Improve CollaboraEvely, Evolve Experimentally
@jonathansen
IN SPRINT | OUT OF SPRINT
BEYOND SCRUM
Scrum with Kanban
@jonathansen
Scrum with KanbanIN SPRINT
@jonathansen
Scrum with KanbanIN SPRINT
FINISH FEATURES | FIX BUGS FASTER
@jonathansen
IN SPRINT
FINISH FEATURES | FIX BUGS FASTERScenario: Adding Features
Item Search + Item Detail + User Edit
Scrum with Kanban
@jonathansen
Scrum with KanbanIN SPRINT178 hours
of work
Scenario: Adding Features Item Search + Item Detail + User Edit
@jonathansen
Scrum with KanbanIN SPRINT
0"
50"
100"
150"
200"
178 hours of work
Burndown Rate (sprint without kanban)
SUCCESSFUL SPRINT?
@jonathansen
Scrum with KanbanIN SPRINT
SCRUM SPRINT: DAY 1
ITEM SEARCH
ITEM DETAIL
USER EDIT
SPRINT BACKLOG DOING DONE
IDQA!
UE2! UE1!UE4!
ID4!
without KANBAN
IS3! IS4!
IS2! IS1!
ISQA!
ID3!
ID2! ID1!
ID5!
UE3! UEQA!UE5!
Blk!
Blk!
Blk!
@jonathansen
Scrum with KanbanIN SPRINT
SCRUM SPRINT: DAY 5
ITEM SEARCH
ITEM DETAIL
USER EDIT
SPRINT BACKLOG DOING DONE
without KANBAN
IS3! IS4!IS2!
IS1!
ISQA!
ID3!ID4!
ID2!ID1!
IDQA!ID5!
UE3!UE4!
UE2!
UE1!
UEQA!
UE5!
Blk!
Blk!
Blk!
@jonathansen
Scrum with KanbanIN SPRINT
SCRUM SPRINT: DAY 10
ITEM SEARCH
ITEM DETAIL
USER EDIT
SPRINT BACKLOG DOING DONE
without KANBAN
IS3! IS4!IS2!
IS1!ISQA!
ID3!ID4!
ID2!ID1!IDQA!
ID5!
UE3!UE4!
UE2!
UE1!UEQA! UE5!UEB2!
UEB3!
ISB2!
ISB3!ISB1!ISB4!ISB5!
IDB2!
IDB3! IDB1!
IDB4!
UEB4!
UEB5!
@jonathansen
Scrum with KanbanIN SPRINTwithout
KANBAN
0"
50"
100"
150"
200"
Burndown Rate (sprint without kanban)
SUCCESSFUL SPRINT?НЕТ
@jonathansen
Scrum with KanbanIN SPRINT
91% DONE = 100% USELESS
@jonathansen
Scrum with KanbanIN SPRINT
1. Not Started 2. In Progress 3. Done
3 STATUSES {
@jonathansen
Scrum with KanbanIN SPRINT
0"
5"
10"
15"
20"
25"
30"
35"
Day"1" Day"2" Day"3" Day"4" Day"5" Day"6" Day"7" Day"8" Day"9" Day"10"
Todo"
Doing"
Done"
HIGH TASK WIP = SLOW TASKS
without KANBAN
@jonathansen
Scrum with KanbanIN SPRINT
0"
5"
10"
15"
20"
25"
30"
35"
Day"1" Day"2" Day"3" Day"4" Day"5" Day"6" Day"7" Day"8" Day"9" Day"10"
Todo"
Doing"
Done"AVG LEAD 3.7 DAYS
AVG WIP 7.5 ITEMS
HIGH TASK WIP = SLOW TASKS
without KANBAN
@jonathansen
Scrum with KanbanIN SPRINT
Lead TimeWIP
Throughput
3.7 7.52
=
=
LITTLE’S LAW
@jonathansen
Scrum with KanbanIN SPRINT
0"
5"
10"
15"
20"
25"
30"
35"
Day"1" Day"2" Day"3" Day"4" Day"5" Day"6" Day"7" Day"8" Day"9" Day"10"
Todo"
Doing"
Done"
without KANBAN HIGH FEATURE WIP =
IDLE QA + MORE BUGS
@jonathansen
Scrum with KanbanIN SPRINT
0"
5"
10"
15"
20"
25"
30"
35"
Day"1" Day"2" Day"3" Day"4" Day"5" Day"6" Day"7" Day"8" Day"9" Day"10"
Todo"
Doing"
Done"NO FEATURES TESTABLE FOR 7 DAYS
without KANBAN HIGH FEATURE WIP =
IDLE QA + MORE BUGS
@jonathansen
Scrum with KanbanIN SPRINT
0"
5"
10"
15"
20"
25"
30"
35"
Day"1" Day"2" Day"3" Day"4" Day"5" Day"6" Day"7" Day"8" Day"9" Day"10"
Todo"
Doing"
Done"NO FEATURES TESTABLE FOR 7 DAYS
SCOPE CREEP FROM
17 TO 31 TASKS
without KANBAN HIGH FEATURE WIP =
IDLE QA + MORE BUGS
@jonathansen
Scrum with KanbanIN SPRINT
SPRINT QUALITY & PREDICTABILITY
1. Map Value Stream 2. Limit Task WIP 3. Limit Feature WIP
with KANBAN
@jonathansen
Scrum with KanbanIN SPRINT
DAY 1
FEATURES
TASKS
SPRINT BACKLOG DONE
IS4!IS1!
ID3!
ID2!
UE3!UE4!
UE2!
UE5!
Item Search!
User Edit!
Item Detail!
2
4
DOINGDEVELOPMENT QA
with KANBAN
@jonathansen
Scrum with KanbanIN SPRINT
FEATURES
TASKS
SPRINT BACKLOG DONE
Item Search!
ISB3!
ISB4!
User Edit!
Item Detail!
ID3!
ID4!
UE3!UE4!
UE2!UE1!
UE5!
IS3!IS4!
IS2!IS1!
ISB2!ISB1!
2
4
DOINGDEVELOPMENT QA
DAY 5
with KANBAN
@jonathansen
Scrum with KanbanIN SPRINT
FEATURES
TASKS
SPRINT BACKLOG DONE
IS3!IS4!
IS2!IS1!
ID3!ID4!
ID1!
UE3!
UE4!UE2!
UE1!UE5!
Item Search!
User Edit!
Item Detail!
ISB2!ISB1!
IDB2!
IDB1!UEB1!
UEB2!
UEB3!
UEB4!
2
4
DOINGDEVELOPMENT QA
DAY 10
with KANBAN
@jonathansen
Scrum with KanbanIN SPRINT
LOW TASK WIP = FAST TASKS
0"
5"
10"
15"
20"
25"
30"
35"
0"
5"
10"
15"
20"
25"
30"
35"
Scrum Alone Scrum + Kanban
AVG LEAD 3.7 DAYS
AVG WIP 7.5 ITEMS
AVG LEAD 0.5 DAYS
AVG WIP 1.4 ITEMS
@jonathansen
Scrum with KanbanIN SPRINT
LOW FEATURE WIP = FAST /BETTER QA
0"
5"
10"
15"
20"
25"
30"
35"
0"
5"
10"
15"
20"
25"
30"
35"
Scrum Alone Scrum + Kanban
AVG LEAD 0.5 DAYS
AVG WIP 1.4 ITEMS
!NO QA 7 DAYS
!!
17 TO 31 TASKS
@jonathansen
Scrum with KanbanIN SPRINT
0"
5"
10"
15"
20"
25"
30"
35"
0"
5"
10"
15"
20"
25"
30"
35"
Scrum Alone Scrum + Kanban
!NO QA 7 DAYS QA IN
4 DAYS
!!
14 TO 24 TASKS
!!
17 TO 31 TASKS
LOW FEATURE WIP = FAST /BETTER QA
@jonathansen
Scrum with KanbanIN SPRINT
COMPARING BURNDOWNS
0"
50"
100"
150"
200"
Scrum"Alone" Scrum"with"Kanban"
@jonathansen
Scrum with KanbanIN SPRINT
SPRINT QUALITY & PREDICTABILITY
1. Map Value Stream 2. Limit Task WIP 3. Limit Feature WIP
with KANBAN
@jonathansen
IN SPRINT | OUT OF SPRINT
BEYOND SCRUM
Scrum with Kanban
@jonathansen
Scrum with KanbanOUT OF A SPRINT
@jonathansen
Scrum with KanbanOUT OF A SPRINT
SOME EPICS ARE UNBREAKABLE
@jonathansen
Scrum with KanbanOUT OF A SPRINT
SOME EPICS ARE UNBREAKABLE
@jonathansen
Scrum with KanbanOUT OF A SPRINT
EPICS: UNSPLITTABLE FEATURES
BACKLOGONGOING
DONEDEVELOPMENT TESTING
10
NEXT UPDONE ONGOING DONE
READY FOR DEMO
F!
L!
M!
2G! H!
not sprint
sprint
E!
A!
D!
C!
3
I!
E!
2
B!
J!
K!
@jonathansen
IN SPRINT | OUT OF SPRINT
BEYOND SCRUM
Scrum with Kanban
@jonathansen
Scrum with KanbanBEYOND SCRUM
@jonathansen
Scrum with KanbanBEYOND SCRUM
h"ps://twi"er.com/davidjbland/status/430769613903654912
“In Scrum, you should inspect and adapt on everything... except Scrum.” -‐ David J Bland
@jonathansen
Scrum with KanbanBEYOND SCRUM
ESTIMATION WASTE | THE TIME BOX
@jonathansen
Scrum with KanbanBEYOND SCRUM
STORY POINT ACCURACY
0"
20"
40"
60"
80"
100"
120"
1" 2" 3" 4" 5" 6" 7" 8" 9" 10"
2,Point"" 3,Point"
@jonathansen
Scrum with KanbanBEYOND SCRUM
HISTORICAL LEAD TIMES
0"5"
10"15"20"25"30"35"40"
6)May" 11)May" 16)May" 21)May" 26)May" 31)May" 5)Jun" 10)Jun" 15)Jun"
@jonathansen
Scrum with KanbanBEYOND SCRUM
HISTORICAL LEAD TIMES
0"5"
10"15"20"25"30"35"40"
6)May" 11)May" 16)May" 21)May" 26)May" 31)May" 5)Jun" 10)Jun" 15)Jun"
upper limit: 29.88
mean: 5.94
@jonathansen
Scrum with KanbanBEYOND SCRUM
0"
2"
4"
6"
8"
10"
12"
14"
<"1"day" 1"to"5" 5"to"10" 10"to"20" >"20"
HISTORICAL LEAD TIMES: HISTOGRAM VIEW
@jonathansen
Scrum with KanbanBEYOND SCRUM
0"
1"
2"
3"
4"
5"
6"
<"2"days" 2"to"6" 6"to"10" >"10"
network(
0"
1"
2"
3"
4"
5"
<"1"day" 1"to"2" 2"to"6" >"6"
UI(
HISTORICAL LEAD TIMES: CATEGORIZE & CALCULATE
@jonathansen
Scrum with KanbanBEYOND SCRUM
FEATURE ESTIMATION ALTERNATIVE
1. Study historical data 2. Categorize cards 3. Calculate ranges 4. Shape sprint
with KANBAN
@jonathansen
Scrum with KanbanBEYOND SCRUM
ESTIMATION WASTE | THE TIME BOX
@jonathansen
Scrum with KanbanBEYOND SCRUM
KANBAN IN A SCRUM
ANALYSISONGOING
DONEDEVELOPMENT TESTINGSPRINT BACKLOG
DONE ONGOING DONE
READY TO DEMO
3 2
ONGOING DONE
@jonathansen
Scrum with KanbanBEYOND SCRUM
ANALYSISONGOING
DONEDEVELOPMENT TESTINGSPRINT BACKLOG
DONE ONGOING DONE
READY TO DEMO
3 2
ONGOING DONE
KANBAN IN A SCRUM
Avg Lead: 32 days
Avg cycle: 3 days
@jonathansen
Scrum with KanbanBEYOND SCRUM
ANALYSISONGOING
DONEDEVELOPMENT TESTINGSPRINT BACKLOG
DONE ONGOING DONE
READY TO DEMO
3 2
ONGOING DONE
KANBAN IN A SCRUM
@jonathansen
Scrum with KanbanBEYOND SCRUM
ANALYSISONGOING
DONEDEVELOPMENT TESTINGSPRINT BACKLOG
DONE ONGOING DONE
READY TO DEMO
3 2
ONGOING DONE
KANBAN IN A SCRUM: ROLLING PRIORITIES
@jonathansen
Scrum with KanbanBEYOND SCRUM
ANALYSISONGOING
DONEDEVELOPMENT TESTINGPRIORITIES DONE ONGOING DONE
READY TO DEMO
3 2
ONGOING DONE
10
KANBAN IN A SCRUM: ROLLING PRIORITIES
@jonathansen
Scrum with KanbanBEYOND SCRUM
ANALYSISONGOING
DONEDEVELOPMENT TESTINGDONE ONGOING DONE
READY TO DEMO
3 2
ONGOING DONE
KANBAN IN A SCRUM: ROLLING PRIORITIES
PRIORITIES
10
Avg Lead: 32 days
Avg cycle: 3 days
@jonathansen
Scrum with KanbanBEYOND SCRUM
ANALYSISONGOING
DONEDEVELOPMENT TESTINGDONE ONGOING DONE
READY TO DEMO
3 2
ONGOING DONE
KANBAN IN A SCRUM: ROLLING PRIORITIES
PRIORITIES
10
Avg Lead: 32 days
Avg cycle: 3 days
14
@jonathansen
Scrum with KanbanBEYOND SCRUM
ANALYSISONGOING
DONEDEVELOPMENT TESTINGDONE ONGOING DONE
3 2
ONGOING DONE
KANBAN IN A SCRUM: DEPLOY WHEN READY
PRIORITIES
10 READY TO DEMO
@jonathansen
Scrum with KanbanBEYOND SCRUM
ANALYSISONGOING
DONEDEVELOPMENT TESTINGDONE ONGOING DONE
3 2
ONGOING DONE
KANBAN IN A SCRUM: DEPLOY WHEN READY
PRIORITIES
10
DEPLOY
2
@jonathansen
Scrum with KanbanBEYOND SCRUM
ANALYSISONGOING
DONEDEVELOPMENT TESTINGDONE ONGOING DONE
3 2
ONGOING DONE
KANBAN IN A SCRUM: DEPLOY WHEN READY
PRIORITIES
10
DEPLOY
2
Avg Lead: 14 days
Avg cycle: 3 days
@jonathansen
Scrum with KanbanBEYOND SCRUM
ANALYSISONGOING
DONEDEVELOPMENT TESTINGDONE ONGOING DONE
3 2
ONGOING DONE
KANBAN IN A SCRUM: DEPLOY WHEN READY
PRIORITIES
10
DEPLOY
2
Avg Lead: 32 days
Avg cycle: 3 days
7
@jonathansen
Scrum with KanbanBEYOND SCRUM
GOAL-‐CENTRIC PROCESS
1. Team Goals 2. Customer Goals
!with
KANBAN
@jonathansen
Scrum with KanbanBEYOND SCRUM
@jonathansen
Scrum with KanbanBEYOND SCRUM OUT OF SPRINTS
@jonathansen
Scrum with KanbanBEYOND SCRUM OUT OF SPRINTS IN SPRINTS
@jonathansen
IMPROVE SPRINTS | MANAGE EPICS
ALIGN WITH CUSTOMER
Scrum with Kanban
@jonathansen
Scrum with Kanban
@jonathansen