kanban for software development-corbis

Upload: alexandru-bogdan-voiculescu

Post on 02-Apr-2018

233 views

Category:

Documents


3 download

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

    [email protected]

    http://www.agilemanagement.net/

    [email protected]

    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.