kanban for software development-corbis
TRANSCRIPT
-
7/27/2019 Kanban for Software Development-Corbis
1/34
2007 Corbis Corporation, Proprietary, for public distribution
A Kanban System for Sustaining
Engineering on Software Systems
David J AndersonSenior Director Software Engineering
Rick GarberManager Process Engineering
-
7/27/2019 Kanban for Software Development-Corbis
2/34
2007 Corbis Corporation, Proprietary, for public distribution
Corbis is a Creative Services Company whose
main business is licensing digital images
Worlds 2nd largest stock photography
business
Privately owned by Bill Gates
Based in Seattle, USA
Represents ~3500 professional
photographers
Sells image rights to publishers,
advertising agencies and corporations for
use in print and online media
-
7/27/2019 Kanban for Software Development-Corbis
3/34
2007 Corbis Corporation, Proprietary, for public distribution
Major IT system releases were too infrequent
to provide sufficient business agility
Interval between major releases was 3
months and growing
New major projects were even larger some
planned to take 18 months
Sustaining process was funded by
Governance committee providing 10%
more headcount in relevant functionsGoal was to deliver a minor release (or
upgrade) every 2 weeks
-
7/27/2019 Kanban for Software Development-Corbis
4/34
2007 Corbis Corporation, Proprietary, for public distribution
A dedicated maintenance team was not viable
given the wide range of systems and the
specialist nature of business and technicalresources required
Sustaining effort had to pull from a floatingpool of resources working on major
projectsSustaining work had to be scheduled
around major project work
Middle-management needed to show that
the 10% funded resources were being
utilized on sustaining work
-
7/27/2019 Kanban for Software Development-Corbis
5/34 2007 Corbis Corporation, Proprietary, for public distribution
Managing each minor release as a mini-project
didnt work
Transaction costs of negotiating scope anddeveloping a schedule for each release was
onerousLine management, individual contributors andmiddle managers spent up to 2 weeks
negotiating a plan for a releaseImplication was that 50% capacity was being burnedon transaction costs
Impact was extending beyond 10% or resources andreducing productivity on major projects
Sustaining releases were not happening regularly
By early September 2006 there hadnt been asustaining release for 2 months
-
7/27/2019 Kanban for Software Development-Corbis
6/34 2007 Corbis Corporation, Proprietary, for public distribution
Sustaining Engineering (initial Nov 2006)
-
7/27/2019 Kanban for Software Development-Corbis
7/34 2007 Corbis Corporation, Proprietary, for public distribution
Sustaining Pre-Engineering
-
7/27/2019 Kanban for Software Development-Corbis
8/34 2007 Corbis Corporation, Proprietary, for public distribution
Kanban board and daily standup meeting were
introduced in early February to add a sense of
urgency and team collaboration
More personal responsibilityand accountability
Resulted in better visual control
Enabled more self-organization
Less management supervision
Better productivity
Spontaneous quality circlesand frequent Kaizen events
-
7/27/2019 Kanban for Software Development-Corbis
9/34 2007 Corbis Corporation, Proprietary, for public distribution
Look how the board has changed by March!
Empirically adjusted Kanban limits and much
neater presentation team pride showingthrough
A d i i A il h t K b
-
7/27/2019 Kanban for Software Development-Corbis
10/34 2007 Corbis Corporation, Proprietary, for public distribution
And again in April, more changes to Kanban
limits and forward extension of the process to
business analysis
-
7/27/2019 Kanban for Software Development-Corbis
11/34 2007 Corbis Corporation, Proprietary, for public distribution
Waste bin spontaneously introduced by team
to visually communicate rejected CRs that
wasted energy and sucked productivity
A t t d t d t il j t d
-
7/27/2019 Kanban for Software Development-Corbis
12/34 2007 Corbis Corporation, Proprietary, for public distribution
A report was created to detail rejected or
cancelled work items (muda)
A d th i di
-
7/27/2019 Kanban for Software Development-Corbis
13/34 2007 Corbis Corporation, Proprietary, for public distribution
And the process is spreading
And the technique is being introduced to major
-
7/27/2019 Kanban for Software Development-Corbis
14/34
2007 Corbis Corporation, Proprietary, for public distribution
And the technique is being introduced to major
projects with much longer time horizons. This
example has a monthly integration eventrather than a release
More and more reports were demanded to
-
7/27/2019 Kanban for Software Development-Corbis
15/34
2007 Corbis Corporation, Proprietary, for public distribution
More and more reports were demanded to
facilitate management decisions. In this case,
new reports to facilitate weekly prioritization
Spontaneous Quality Circles started forming
-
7/27/2019 Kanban for Software Development-Corbis
16/34
2007 Corbis Corporation, Proprietary, for public distribution
Spontaneous Quality Circles started forming
Kanban board gives visibility into process issues ragged flow, transaction costs of releases ortransfers through stages in process, bottlenecks
Daily standup provides forum for spontaneousassociation to attack process issues affectingproductivity and lead time
For example, 3 day freeze on test environmentwas a transaction cost on release that caused abottleneck at build state. This was reduced to
24 hours after a 3 person quality circle formed toinvestigate the policies behind the freeze. Resultwas improved smooth flow resulting in higherthroughput and shorter lead time
Oth t lit i l k i t
-
7/27/2019 Kanban for Software Development-Corbis
17/34
2007 Corbis Corporation, Proprietary, for public distribution
Other spontaneous quality circle kaizen events
Empirically adjusted kanban limits several timesE.g. test kanban too small, causing ragged flow
UAT state added
Prompted by test who were experiencing slack timeExpanded kanban limit on Build Ready state,added Test Ready state
Introduced to smooth flow post release due toenvironment outage transaction cost
Introduced kanban board, daily standup, coloredpost-it notes for different classes of service,
notations on the post-itsPoor requirements causing downstream wasteresulted in an upstream inspection to eliminate
issues with poorly specified requests
In general empirical observation of ragged
-
7/27/2019 Kanban for Software Development-Corbis
18/34
2007 Corbis Corporation, Proprietary, for public distribution
In general, empirical observation of ragged
flow or visibility of waste generates a quality
circle resulting in a kaizen event
Kanban innovates on typical agile/iterative
-
7/27/2019 Kanban for Software Development-Corbis
19/34
2007 Corbis Corporation, Proprietary, for public distribution
Kanban innovates on typical agile/iterative
development by introducing a late binding
release commitment
Kanban system breaks constraint of typical
agile/iterative 2-4 week cycle
Requests can take up to 100 days to process but
releases still made every 14 daysDecision on content of release made 5 days prior
to release
No estimation is done on individual items
Effort to estimate is turned back to productivity
(analysis, coding, testing)
How Software Kanban Differs from Typical
-
7/27/2019 Kanban for Software Development-Corbis
20/34
2007 Corbis Corporation, Proprietary, for public distribution
How Software Kanban Differs from Typical
TPS Implementation
No FIFO queuing
Tasks prioritized by cost of delay or
resource availability
Cost of delay is heterogeneous
Resources are often specialist, notgeneralist or cross-trained at prev/nextstations
Task durations have much wider variability no tight 3 sigma limit, no takt time
concept
Colors are used to designate qualities of
-
7/27/2019 Kanban for Software Development-Corbis
21/34
2007 Corbis Corporation, Proprietary, for public distribution
Colors are used to designate qualities of
service for work items
Issues are the exception
attached to work items that are
blocked for external reasons and
call attention to problems
preventing smooth flow
Kanban has allowed us to observe known
-
7/27/2019 Kanban for Software Development-Corbis
22/34
2007 Corbis Corporation, Proprietary, for public distribution
Kanban has allowed us to observe known
industrial engineering issues
Overly large CRs caused ragged flow, blew outlead time
Larger variation in CR size has required largerqueues and buffer extending lead time
Ragged flow causes idle time even on
bottleneck stations (e.g. test)Non-constraints also exert ragged flow behaviordue to non-instant availability
e.g. integration buildBig items are now broken up, breaks the Kanbanlimit but pull system means no new items enterWIP until overflow is pulled through. Result issmoother flow even with big items
-
7/27/2019 Kanban for Software Development-Corbis
23/34
Issue Management Cumulative Flow
-
7/27/2019 Kanban for Software Development-Corbis
24/34
2007 Corbis Corporation, Proprietary, for public distribution
Issue Management Cumulative Flow
Executive Dashboard
-
7/27/2019 Kanban for Software Development-Corbis
25/34
2007 Corbis Corporation, Proprietary, for public distribution
Executive Dashboard
Mean Lead Time Trend
-
7/27/2019 Kanban for Software Development-Corbis
26/34
2007 Corbis Corporation, Proprietary, for public distribution
Mean Lead Time Trend
0.0
10.0
20.0
30.0
40.0
50.0
60.0
Dec Jan Feb Mar Apr May
Day
sCRs
Bugs
Combo
SLA
Mean Lead Time Trend
Revisiting Cumulative Flow
-
7/27/2019 Kanban for Software Development-Corbis
27/34
2007 Corbis Corporation, Proprietary, for public distribution
CR Only
53 Days73 Days
35 Days 38 Days
Lead Times are lengthening
again due to environmentrebuild and business
requested delay waiting for
expedite request
43 Days
Revisiting Cumulative Flow
Due Date Performance Detail
-
7/27/2019 Kanban for Software Development-Corbis
28/34
2007 Corbis Corporation, Proprietary, for public distribution
Smoothed Lead Time Distribution
0
1
2
3
4
1 611
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
101
106
Days
#CR
Lead T ime Distribution
0
0.5
1
1.5
2
2.5
1 611
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
101
106
Days
#
CRs
MARCH
Due Date Performance Detail
-
7/27/2019 Kanban for Software Development-Corbis
29/34
2007 Corbis Corporation, Proprietary, for public distribution
Lead Time Distribution
0
0.5
1
1.5
2
2.5
3
3.5
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
113
120
127
134
141
148
Days
CRs&Bug
Smoothed Lead Time Distribution
0
0.5
1
1.5
2
2.5
3
3.5
4
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
113
120
127
134
141
148
Days
CRs
&Bug
APRIL
Outliers
Majority of CRs range 30 -> 55
-
7/27/2019 Kanban for Software Development-Corbis
30/34
Summary
-
7/27/2019 Kanban for Software Development-Corbis
31/34
2007 Corbis Corporation, Proprietary, for public distribution
y
Culture Change
Trust, empowerment, objective data measurement,
collaborative team working and focus on quality
Policy Changes
Late-binding release scope, no estimating, late-binding
prioritizationRegular delivery cadence
Continuous Improvement
Increased throughput, high quality, process continually
evolving, kanban limits empirically adjusted
And finally, staff take a pride in their
-
7/27/2019 Kanban for Software Development-Corbis
32/34
2007 Corbis Corporation, Proprietary, for public distribution
achievements
Thank you!
-
7/27/2019 Kanban for Software Development-Corbis
33/34
2007 Corbis Corporation, Proprietary, for public distribution
y
http://www.agilemanagement.net/
About the presenters
http://www.agilemanagement.net/http://www.agilemanagement.net/http://www.agilemanagement.net/ -
7/27/2019 Kanban for Software Development-Corbis
34/34
2007 Corbis Corporation, Proprietary, for public distribution
David Anderson is Senior Director of Software Engineering with Corbis. He has 25 yearsexperience in the software development business starting with computer games in the early1980s. As a pioneer in the agile software movement David has managed teams at Sprint PCSand Motorola delivering superior productivity and quality. More recently at Microsoft he developedthe MSF for CMMI Process Improvement methodology.
Davids book, Agile Management for Software Engineering Applying the Theory of Constraintsfor Business Results, introduced many ideas from Lean and Theory of Constraints in to software
engineering.
Davids team at Corbis are currently focused on introducing more Lean ideas including use ofkanban, oobeya, and visual control techniques to demonstrate high levels of productivity,improved lead times and quality while using new and traditional software engineering techniquessuch as software factories, modeling, architecture to enable postponement and the use of realoption theory in managerial decision making.
Rick Garber is Manager of IT Process Engineering with Corbis in Seattle, WA where heleads process improvement initiatives for Corbis' software engineering, IT services, businessintelligence and global infrastructure teams. Rick has played a key role in the definition andimplementation of a kanban system for sustainment engineering at Corbis.
Previously, Rick was an IT consultant/project manager with Equarius (now EMC MicrosoftSolutions) in Bellevue, WA. With Equarius and subsequently with Corbis, Rick was part of a teamthat designed and developed Corbis core media management system.
Rick holds a bachelors degree in Industrial Engineering and MBA from Oregon State University,and a Certificate of Advanced Studies in Database Management from the University of Denver. Helives in Kirkland, WA.