Dave snowden practice without sound theory will not scale
Applying lean principles and kanban in the enterprise - Kevin Ryan
1. Kanban In The Enterprise
Kevin Ryan : Agile Practices Consultant
Monday, 11 October 2010
2. The Starting Point
• Scrum project
• Running for two years
• Second architectural refresh
• Highly pressurised environment
• Low stakeholder confidence
• Combined on-shore and off-shore resource
• Project head count around 50
• Unable to estimate reliable completion dates
• Product considered critical to business strategy
• Increasing technical debt
Monday, 11 October 2010
3. Evolution : 0
Enterprise Program Level Process Team Level Process Program Level Process Enterprise
Process Process
Team A Scrum
Team B Scrum
Team C Scrum
Team D Scrum
Value Stream
Monday, 11 October 2010
4. Evolution : 1
Enterprise Program Level Process Team Level Process Program Level Process Enterprise
Process Process
Team A Scrum
Team B Kanban
Team C Scrum
Team D Scrum
Value Stream
Monday, 11 October 2010
5. Evolution : 2
Enterprise Program Level Process Team Level Process Program Level Process Enterprise
Process Process
Team A Scrum
Team B Kanban
Team C Scrum
Team D Kanban
Value Stream
Monday, 11 October 2010
6. Evolution : 3
Enterprise Team Level Process Program Level Process Team Level Process Program Level Process Enterprise
Process Process
Team A Scrum
Team B Kanban
Program Leadership Kanban
Team C Scrum
Team D Kanban
Value Stream
Monday, 11 October 2010
7. Evolution : 4
Enterprise Team Level Process Program Level Process Team Level Process Program Level Process Team Level Process Enterprise
Process Process
Team A Scrum
Team B Kanban
Program Leadership Kanban Program Cohesion Kanban
Team C Scrum
Team D Kanban
Value Stream
Monday, 11 October 2010
8. Evolution : X
Enterprise Team Level Process Program Level Process Team Level Process Program Level Process Team Level Process Enterprise
Process Process
Team A Kanban
Team B Kanban
Program Leadership Kanban Program Cohesion Kanban
Team C Kanban
Team D Kanban
Value Stream
Monday, 11 October 2010
32. Just In Time
“
If
you’re
early
you
are
was/ng
your
/me,
if
you’re
late
you
are
was/ng
mine.”
!"#$%&'()*+($&,)-+.)&/#*$#01&2*-&3.4#&56&/#$$"78-57&
Monday, 11 October 2010
42. Workflow
Falcon Program Level Kanban Workflow Definition
Two Week Cadence
Workflow Stage Baseline High Level Form Architectural Requirements Resolve Story Breakdown & Estimate Points Resolve Team Ready For Technical
WIP Limit Business Objectives 3 Design 2 Cohesion 2 Organisational 2 Traceability 2 2 Dependencies 2 Implementation 4
Exit Criteria Named product owner Falcon touchpoints None functional Named contacts for Story acceptance Stories are broken Resource Appropriate
identified requirements agreed external criteria expressed in down to a dependencies development team
Named key dependencies a manner that allows reasonably between teams have identified
stakeholders External interfaces Functional for executable consistent size been identified
identified requirements agreed External specification Team have reviewed
Descriptive paragraph dependencies aware Stories have a Named points of materials and are
of theme and sub- High level User interface of scheduled change Product verification relative points contact between willing to accept
themes components prototypes produced checks identified estimate teams exist feature into
identified Impact between development
Problem/Value external Testability features Multiple teams are process
Statements Strategic review dependencies have been identified aware of scheduled
complete identified (eg: logging, tracing) change and have Technical skills exist
Bullet pointed list of (possible breaking capacity to manage within the team to
business objectives Any third party change?) dependencies deliver specified
suppliers identified feature
External
dependencies Impact on physical Named development
identified architecture owner
identified
Stakeholder
agreement None functional
aspects identified
and listed
I=D=75B./"C71N"
%#"
,-./-0123"
%!" 456/78-/"98:;"</./7"4=68-/66">?@/AB./6"
C12D"E2A;80/A0=257"F/68:-"
G/H=82/D/-06"I1;/681-"
S12M",0/D"42/5MK1N-"
$#"
G/617./">2:5-865B1-57"F/J/-K/-A8/6"
L0123"42/5MK1N-"O"P25A/5?87803"
$!"
Q6BD50/"R18-06"
G/617./"P/5D"F/J/-K/-A8/6"
#" G/5K3"C12"P/A;-8A57",DJ7/D/-05B1-"
,DJ7/D/-05B1-"
,-"R21K=AB1-"
!"
$" %" &" '" #" (" )" *" +" $!" $$" $%" $&" $'" $#" $(" $)" $*" $+" %!" %$" %%" %&" %'" %#"
F536"Q75J6/K",-"L5DJ7/"
Page 1
Monday, 11 October 2010
44. Falcon Program Level Kanban Workflow Definition
Two Week Cadence
Workflow Stage Baseline High Level Form Architectural Requirements Resolve Story Breakdown & Estimate Points Resolve Team Ready For Technical
Business Objectives Design Cohesion Organisational Traceability Dependencies Implementation Notes
Dependencies
WIP Limit 3 2 2 2 2 2 2 4 This document is not an estimate of work remaining.
Exit Criteria Named product owner Falcon touchpoints None functional Named contacts for Story acceptance Stories are broken Resource Appropriate
identified requirements agreed external criteria expressed in a down to a reasonably dependencies development team
Named key dependencies manner that allows for consistent size between teams have identified
This document is not a commitment to delivery dates.
stakeholders External interfaces Functional executable been identified
identified requirements agreed External specification Stories have a Team have reviewed This document is a derived model based upon the current defined development process and is
Descriptive paragraph dependencies aware relative points Named points of materials and are intended as a tool to improve estimation and maximise requirements flow.
of theme and sub- High level User interface of scheduled change Product verification estimate contact between willing to accept
themes components identified prototypes produced checks identified teams exist feature into
Impact between development process Definitions
Problem/Value Strategic review external Testability features Multiple teams are Flow : The movement of requirements through the program workflow and into production.
Statements complete dependencies have been identified aware of scheduled Technical skills exist
identified (eg: logging, tracing) change and have within the team to
Bullet pointed list of Any third party (possible breaking capacity to manage deliver specified
Cycle Time : The duration of any given feature or requirement to complete its development cycle.
business objectives suppliers identified change?) dependencies feature
Flow Rate : The frequency at which features or requirements complete a development workflow.
External dependencies Impact on physical Named development
identified architecture identified owner
Intended Outcome :
Stakeholder agreement None functional Positive actions to reduce cycle times at the Program, Theme and Story Level.
aspects identified and
listed Positive actions to increase flow rate at the Program, Theme and Story Level.
Technical frameworks
identified (eg. Spring)
Internal interfaces
defined
Named technical
owner
I1-0217"456/78-/"I=D=75B./"C71N" Baseline Characteristics
Sample Start Date 01-May-10
%#"
Sample End Date 31-Dec-10
Days In Sample 245
Size Of Program Level Inventory 20
Business Feature Cycle Time Days 64
%!" ,-./-0123" Business Feature Flow Rate Days 7
S12M",0/D"42/5MK1N-"
Inventory Released Downstream Per Business Feature 25
456/78-/"98:;"</./7"4=68-/66">?@/AB./6"
Number of Teams Downstream 5
C12D"E2A;80/A0=257"F/68:-" Downstream Cycle Time Days 7
$#" G/H=82/D/-06"I1;/681-"
Downstream Flow Rate 0.75
Initial Product Increment 07-Jul-10
G/617./">2:5-865B1-57"F/J/-K/-A8/6" Final Product Increment 13-Nov-10
L0123"42/5MK1N-"O"P25A/5?87803" Program Cycle Time 197
$!" Weekly Expenditure £250,000
Q6BD50/"R18-06" Monthly Client Subscription Cost £35.00
G/617./"P/5D"F/J/-K/-A8/6"
G/5K3"C12"P/A;-8A57",DJ7/D/-05B1-"
#"
,DJ7/D/-05B1-"
,-"R21K=AB1-"
!"
$"
&"
'"
$*"
%#"
%+"
($"
('"
&*"
##"
#+"
)$"
)'"
'*"
+#"
++"
*$"
*'"
$!!"
$!("
$!)"
$!*"
$$%"
$$#"
$$+"
$%$"
$%&"
$%'"
$(!"
$(("
$()"
$(*"
$&%"
$&#"
$&+"
$#$"
$#&"
$#'"
$)!"
$)("
$))"
$)*"
$'%"
$'#"
$'+"
$+$"
$+&"
$+'"
$*!"
$*("
$*)"
$**"
%!%"
%!#"
%!+"
%$$"
%$&"
%$'"
%%!"
%%("
%%)"
%%*"
%(%"
%(#"
%(+"
%&$"
%&&"
$!"
$("
$)"
%%"
(&"
&!"
&("
&)"
#%"
)&"
'!"
'("
')"
+%"
*&"
F536"Q75J6/K",-"L5DJ7/"
!"#$%&'(9:+%.;%(12'2"%(3(45(6787( ),<%.'()#;'(12'2"%(3(45(6787( !"#=2&'(!%">#"*0.&%(12'2"%(3(45(6787( !"#$%&'()#*+,%-#.(/0'%(12'2"%(3(45(6787(
%#" 'TV5-T$$"
)X!!!X!!!" &!"
(#" $+TW1.T$!"
#X!!!X!!!" %!"
(!"
&X!!!X!!!" %#" %*TL/JT$!"
$#"
(X!!!X!!!" %!"
$!TE=:T$!"
$#" $!"
R21K=A0"R/2Z12D5-A/"
%X!!!X!!!" R21@/A0"QYJ/-6/"C=0=2/" I78/-0"I160"C=0=2/" R21@/A0"I1DJ7/B1-"F50/"C=0=2/"
$!" C=0=2/" %$TV=-T$!"
#"
$X!!!X!!!" #"
%TU53T$!"
!" !" !"
$" (" #" '" *" $$"$("$#"$'"$*"%$"%("%#"%'"%*"($"(("(#"
$" (" #" '" *" $$"$("$#"$'"$*"%$"%("%#"%'"%*"($"(("(#" $" (" #" '" *" $$" $(" $#" $'" $*" %$" %(" %#" %'" %*" ($" ((" (#" $" (" #" '" *" $$" $(" $#" $'" $*" %$" %(" %#" %'" %*" ($" ((" (#"
S//M" S//M" S//M"
S//M"
Monday, 11 October 2010
45. Baseline Model : Week 0
Inventory Production
3 2 1
6 5 4
9 8 7
12 11 10
Program Leadership Kanban
15 14 13
18 17 16
20 19
Expense Client Cost Performance Schedule
Monday, 11 October 2010
46. Baseline Model : Week 1
Inventory Production
3 2
6 5 4
9 8 7
12 11 10
Program Leadership Kanban
15 14 13
18 17 16
20 19 1
Expense Client Cost Performance Schedule
Monday, 11 October 2010
47. Baseline Model : Week 2
Inventory Production
3
6 5 4
9 8 7
12 11 10
Program Leadership Kanban
15 14 13
18 17 16
20 19 2 1
Expense Client Cost Performance Schedule
Monday, 11 October 2010
48. Baseline Model : Week 3
Inventory Production
6 5 4
9 8 7
12 11 10
Program Leadership Kanban
15 14 13
18 17 16
20 19 3 2 1
Expense Client Cost Performance Schedule
Monday, 11 October 2010
49. Baseline Model : Week 4
Inventory Production
6 5
9 8 7
12 11 10
Program Leadership Kanban
15 14 13
18 17 16
20 19 4 3 2 1
Expense Client Cost Performance Schedule
Monday, 11 October 2010
50. Baseline Model : Week 5
Inventory Production
6
9 8 7
12 11 10
Program Leadership Kanban
15 14 13
18 17 16
20 19 5 4 3 2 1
Expense Client Cost Performance Schedule
Monday, 11 October 2010
51. Baseline Model : Week 6
Inventory Production
9 8 7
12 11 10
Program Leadership Kanban
15 14 13
18 17 16
20 19 6 5 4 3 2 1
Expense Client Cost Performance Schedule
Monday, 11 October 2010
52. Baseline Model : Week 7
Inventory Production
9 8
12 11 10
Program Leadership Kanban
15 14 13
18 17 16
20 19 7 6 5 4 3 2 1
Expense Client Cost Performance Schedule
Monday, 11 October 2010
53. Baseline Model : Week 8
Inventory Production
9
12 11 10
Program Leadership Kanban
15 14 13
18 17 16
20 19 8 7 6 5 4 3 2 1
Expense Client Cost Performance Schedule
Monday, 11 October 2010
54. Baseline Model : Week 9
Inventory Production
12 11 10
Program Leadership Kanban
15 14 13
18 17 16
20 19 9 8 7 6 5 4 3 2 1
Expense Client Cost Performance Schedule
Monday, 11 October 2010
55. Baseline Model : Week 10
Inventory Production
1
12 11
Program Leadership Kanban
15 14 13
18 17 16
20 19 10 9 8 7 6 5 4 3 2
Expense Client Cost Performance Schedule
Monday, 11 October 2010
56. Baseline Model : Week 11
Inventory Production
1 2
12
Program Leadership Kanban
15 14 13
18 17 16
20 19 11 10 9 8 7 6 5 4 3
Expense Client Cost Performance Schedule
Monday, 11 October 2010
57. Baseline Model : Week 12
Inventory Production
1 2 3
Program Leadership Kanban
15 14 13
18 17 16
20 19 12 11 10 9 8 7 6 5 4
Expense Client Cost Performance Schedule
Monday, 11 October 2010
58. Baseline Model : Week 13
Inventory Production
1 2 3
4
Program Leadership Kanban
15 14
18 17 16
20 19 13 12 11 10 9 8 7 6 5
Expense Client Cost Performance Schedule
Monday, 11 October 2010
59. Baseline Model : Week 14
Inventory Production
1 2 3
4 5
Program Leadership Kanban
15
18 17 16
20 19 14 13 12 11 10 9 8 7 6
Expense Client Cost Performance Schedule
Monday, 11 October 2010
60. Baseline Model : Week 15
Inventory Production
1 2 3
4 5 6
Program Leadership Kanban
18 17 16
20 19 15 14 13 12 11 10 9 8 7
Expense Client Cost Performance Schedule
Monday, 11 October 2010
61. Baseline Model : Week 16
Inventory Production
1 2 3
4 5 6
7
Program Leadership Kanban
18 17
20 19 16 15 14 13 12 11 10 9 8
Expense Client Cost Performance Schedule
Monday, 11 October 2010
62. Baseline Model : Week 17
Inventory Production
1 2 3
4 5 6
7 8
Program Leadership Kanban
18
20 19 17 16 15 14 13 12 11 10 9
Expense Client Cost Performance Schedule
Monday, 11 October 2010
63. Baseline Model : Week 18
Inventory Production
1 2 3
4 5 6
7 8 9
Program Leadership Kanban
20 19 18 17 16 15 14 13 12 11 10
Expense Client Cost Performance Schedule
Monday, 11 October 2010
64. Baseline Model : Week 19
Inventory Production
1 2 3
4 5 6
7 8 9
10
Program Leadership Kanban
20 18 18 17 16 15 14 13 12 11
Expense Client Cost Performance Schedule
Monday, 11 October 2010
65. Baseline Model : Week 20
Inventory Production
1 2 3
4 5 6
7 8 9
10 11
Program Leadership Kanban
20 19 18 17 16 15 14 13 12
Expense Client Cost Performance Schedule
Monday, 11 October 2010
66. Baseline Model : Week 21
Inventory Production
1 2 3
4 5 6
7 8 9
10 11 12
Program Leadership Kanban
20 19 18 17 16 15 14 13
Expense Client Cost Performance Schedule
Monday, 11 October 2010
67. Baseline Model : Week 22
Inventory Production
1 2 3
4 5 6
7 8 9
10 11 12
Program Leadership Kanban
13
20 19 18 17 16 15 14
Expense Client Cost Performance Schedule
Monday, 11 October 2010
68. Baseline Model : Week 23
Inventory Production
1 2 3
4 5 6
7 8 9
10 11 12
Program Leadership Kanban
13 14
20 19 18 17 16 15
Expense Client Cost Performance Schedule
Monday, 11 October 2010
69. Baseline Model : Week 24
Inventory Production
1 2 3
4 5 6
7 8 9
10 11 12
Program Leadership Kanban
13 14 15
20 19 18 17 16
Expense Client Cost Performance Schedule
Monday, 11 October 2010
70. Baseline Model : Week 25
Inventory Production
1 2 3
4 5 6
7 8 9
10 11 12
Program Leadership Kanban
13 14 15
16
20 19 18 17
Expense Client Cost Performance Schedule
Monday, 11 October 2010
71. Baseline Model : Week 26
Inventory Production
1 2 3
4 5 6
7 8 9
10 11 12
Program Leadership Kanban
13 14 15
16 17
20 19 18
Expense Client Cost Performance Schedule
Monday, 11 October 2010
72. Baseline Model : Week 27
Inventory Production
1 2 3
4 5 6
7 8 9
10 11 12
Program Leadership Kanban
13 14 15
16 17 18
20 19
Expense Client Cost Performance Schedule
Monday, 11 October 2010
73. Baseline Model : Week 28
Inventory Production
1 2 3
4 5 6
7 8 9
10 11 12
Program Leadership Kanban
13 14 15
16 17 18
20 19
Expense Client Cost Performance Schedule
Monday, 11 October 2010
74. Baseline Model : Week 29
Inventory Production
1 2 3
4 5 6
7 8 9
10 11 12
Program Leadership Kanban
13 14 15
16 17 18
19 20
Expense Client Cost Performance Schedule
Monday, 11 October 2010
75. Baseline Model : Week 30
Inventory Production
1 2 3
4 5 6
7 8 9
10 11 12
Program Leadership Kanban
13 14 15
16 17 18
19 20
Expense Client Cost Performance Schedule
Monday, 11 October 2010
76. Baseline Model : Over Time
Inventory Production
1 2 3
Backlog 4 5 6
7 8 9
10 11 12
Program Leadership Kanban
13 14 15
16 17 18
19 20
Expense Client Cost Performance Schedule
Monday, 11 October 2010
77. Baseline Model : Over Time
Inventory Production
1 2 3
4 5 6
Done 7 8 9
10 11 12
Program Leadership Kanban
13 14 15
16 17 18
19 20
Expense Client Cost Performance Schedule
Monday, 11 October 2010
78. Baseline Model : Over Time
Inventory Production
1 2 3
In Progress
4 5 6
In Progress
7 8 9
10 11 12
Program Leadership Kanban
13 14 15
16 17 18
19 20
Expense Client Cost Performance Schedule
Monday, 11 October 2010
81. Scenario
• 15th Feb Iteration 53
• Tasked with resolving performance related technical debt
• Tasked with resolving scalability related technical debt
• Spent two iterations analysing system
• Under pressure to produce user stories
• Under pressure to provide reliable estimates for stories
• Failing to deliver on iteration commitments
• Level of uncertainty too high to provide consistent estimation
• Migrating to Kanban to manage development and incremental improvement
Monday, 11 October 2010
94. Color coding of work
Time & Date items
‘Record Triggers’
Separate bins for waste divided
between time waste and Statistical process
requirements waste Prioritized inventory of Filter for highest control charts
requirements priority work
‘Fast-Lane’ for work
with priority conditions
of service
Work In Progress limits
Program level
consistent practice
Exit Criteria
Ideas for process improvement Easy access to tools
Photos of last kaizen that are outside teams and materials
event whiteboard Entry Criteria
immediate control
Monday, 11 October 2010
98. Silver Bullet
Rob 1
! ! !
Defect Functional
DE1504
Launch Preditor
US7306-1
Browser Bookmark Launch
RELEASE Rob 2
Bookmarklet : Can cause JS
error if clicked during page load
Class of Service
Expedite
Class of Service Rob 3
Standard
Number of Cycles Number of Cycles
! !
Impediment! ! ! ! !
Analysis Analysis Analysis Analysis
Design De
Start Date Named product Named product
Documented Doc
Start Date owner owner
End Date End Date Named domain Named Reviewed
Peer domain Pee
Design Design experts experts
Start Date Start Date Identify benefits Identify benefits
Identify Iden
End Date interfaces inte
End Date (AMDD) (AM
Awaiting Implementation Identify risks Identify risks
Awaiting Implementation Identify Iden
Start Date Start Date Components Com
Identify test (AMDD)
Identify test (AM
End Date End Date Approach Approach
Consider Con
BLOCKED! Implementation Implementation Outline technical
Alternatives
Outline technical
Alte
Start Date Start Date approach approach
List Non List
Functional Fun
End Date Agreed with Agreed with
End Date users
Considerations
users
Con
Technical Tec
Committed Committed Agreed with Spike?
Agreed with Spik
Start Date Start Date product owner! product owner!
End Date End Date Peer Review! Peer Review!
Is Packaged Is Packaged
Start Date Start Date
End Date End Date
1 Test
Start Date
Test
Start Date
DEFECT End Date
Ready For Test Release
Start Date
End Date
Ready For Test Release
Start Date
End Date End Date
Release To Test Release To Test
Start Date Start Date
End Date End Date
Ready For Live Release Ready For Live Release
Start Date Start Date
WIP End Date End Date
THROTTLE Release To Live
Start Date
Release To Live
Start Date
End Date End Date
Associated Tasks Associated Tasks
Associated Tasks
! ! ! !
! ! ! !
! ! ! !
! ! !
! ! !
! ! !
! ! !
! ! !
Monday, 11 October 2010 ! ! !