A Kanban System for Sustaining Engineering on Software Systems



Similar documents
David J. Anderson President, Modus Cooperandi, Performance Through Collaboration

A Kanban System for Software Engineering

Kanban Systems for Software Engineering

Lean Software Development and Kanban

Agile support with Kanban some tips and tricks By Tomas Björkholm

Agile and lean methods for managing application development process

What is meant by the term, Lean Software Development? November 2014

MTAT Software Engineering

Program & Portfolio! Management using! Kanban! Copyright 2013 Davisbase Consulting. Limited Display License Provided to ASPE

Kanban For Software Engineering

Agile and lean methods for managing application development process

Kanban A Lean approach to Agile software development

The only person who likes change is a baby with a wet diaper. Mark Twain. Charan CA Atreya

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

Introduction to Agile and Scrum

Scrum vs. Kanban vs. Scrumban

Kanban. A Toyota s manufacturing system for Software Development CERN EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH. Eloy Reguero Fuentes

Using a Lean and Kanban Approach in Agile Development. Jeff Patton AgileProductDesign.com jpatton@acm.org

LEAN AGILE POCKET GUIDE

CMMI and KANBAN is it possible?

Software Engineering I (02161)

J-Curve effect, 38, JIT. See Just-in-Time Inventory Just Enough Design Initially (JEDI), 6, 283

Lean Metrics How to measure and improve the flow of work. Chris Hefley, CEO of LeanKit. November 5 th, 2014

VISUAL REQUIREMENTS MANAGEMENT WITH KANBAN. Mahesh Singh Co-founder/ Sr. VP Product, Digite, Inc.

Lean and Kanban at Scale Extending Kanban across the portfolio, program and team levels. Al Shalloway, Net Objectives. September 4 th, 2014

Analysis One Code Desc. Transaction Amount. Fiscal Period

From Worst to Best in 9 Months: Implementing a Drum-Buffer-Rope Solution in Microsoft s IT Department

The Thinking Approach LEAN CONCEPTS , IL Holdings, LLC All rights reserved 1

NEW MODELS FOR PRODUCTION SIMULATION AND VALIDATION USING ARENA SOFTWARE

Modern Risk Management with Kanban

WHITE PAPER. Assessing Kanban fitment in the Fluid and Fast-paced World of Software Development

An Introduction to Kanban for Scrum Users. Stephen Forte Chief Strategy Officer,

Personal Kanban. Stop wasting your life

The Agile Manifesto is based on 12 principles:

agenda AGILE AT SCALE

The Lego Lean Game. Danilo Sato, Francisco Trindade XP 2009 Sardinia - Italy. 25 th May 2009

Agile Project Management with Scrum

White paper: Scrum-ban for Project Management

Agile Requirements And Testing For Continuous Software Delivery

Lean vs. Agile similarities and differences Created by Stephen Barkar -

Scrum and Kanban 101

Lean and Agile Development With Scrum (Part 2) Lucio Davide Spano

A comparative study of Scrum and Kanban approaches on a real case study using simulation

VALUE STREAM MAPPING FOR SOFTWARE DEVELOPMENT PROCESS. Ganesh S Thummala. A Research Paper. Submitted in Partial Fulfillment of the

Kanban vs Scrum Making the most of both

Agile Training Portfolio

KANBAN. Mads Troels Hansen. Prosa, October 4 th Mads Troels Hansen. October 09, 2009 Mads Troels Hansen

Applying Lean on Agile Scrum Development Methodology

Does enterprise resource planning software support lean? ERP goes 44 TARGET AME.ORG/TARGET

Using the Lean Model for Performance Improvement

Improving Software Development through Combination of Scrum and Kanban

Kanban what is it and why should I care?

Maintaining Quality in Agile Environment

Lean Silver Certification Blueprint

The Scrum Guide. The Definitive Guide to Scrum: The Rules of the Game. July Developed and sustained by Ken Schwaber and Jeff Sutherland

Queen's University Belfast - Research Portal

VISUAL management techniques for optimum INVENTORY form, fit and function

Lean Six Sigma and its application within the Criminal Justice Sector

Lean Management. KAIZEN Training of Trainers. KAIZEN Facilitators Guide Page to.

Kanban for Software Engineering

Agile to the Bone. Introduction to Agile by Pietari Kettunen

Demand forecasting & Aggregate planning in a Supply chain. Session Speaker Prof.P.S.Satish

Gothenburg 2015 Jan Marek com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

Agile Beyond The Team 1

Time is Money! Multi Project Management and Takt Oriented Sequencing

Agile Project Management and Agile Practices Training; with a Scrum Project that you will do.

Lean Manufacturing and Six Sigma

Lean Agile Scrum Business Value Development and Delivery using Agility. Brenden McGlinchey Software Done Right, Inc.

Certified in Supply Chain Management

Introduction to Agile

Kanban vs Scrum Making the most of both

Business Process Optimization w/ Innovative Results

When agile is not enough

Risikominimering I IKT-prosjekter - experiences from the Danish Government

Operational Business Intelligence in Manufacturing

Chapter 6. Iteration 0: Preparing for the First Iteration

Lean Six Sigma Lean 201 Introduction. TECH QUALITY and PRODUCTIVITY in INDUSTRY and TECHNOLOGY

Lean, Six Sigma, and the Systems Approach: Management Initiatives for Process Improvement

Lean. Agile. Demystifying Kanban. White Papers. essential. by Alan Shalloway. Business-Driven Software Development

Sprint with Scrum and get the work done. Kiran Honavalli, Manager Deloitte Consulting LLP March 2011

Project Planning, Scheduling and Control: Assignment 2 D. U. Singer Hospital Products Corp.

Scrum. in five minutes

AT&T Global Network Client for Windows Product Support Matrix January 29, 2015

BI and ETL Process Management Pain Points

Agile Project Management. What it is and what it isn t

Appendix Lean Glossary Page 1

How to Manage an Agile/Kanban Software Project Using EVM

Processing of Insurance Returns. An EMC Lean Six Sigma Project. Author: Aidan Trindle. Editor: Mohan Mahadevan

Lean Healthcare Metrics Guide

Agile Development with C#

Customer Success Stories

Lean in Product Development

Transcription:

A Kanban System for Sustaining Engineering on Software Systems David J Anderson Senior Director Software Engineering Rick Garber Manager Process Engineering

Corbis is a Creative Services Company whose main business is licensing digital images World s 2 nd 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

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 functions Goal was to deliver a minor release (or upgrade) every 2 weeks

A dedicated maintenance team was not viable given the wide range of systems and the specialist nature of business and technical resources required Sustaining effort had to pull from a floating pool of resources working on major projects Sustaining 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

Managing each minor release as a mini-project didn t work Transaction costs of negotiating scope and developing a schedule for each release was onerous Line management, individual contributors and middle managers spent up to 2 weeks negotiating a plan for a release Implication was that 50% capacity was being burned on transaction costs Impact was extending beyond 10% or resources and reducing productivity on major projects Sustaining releases were not happening regularly By early September 2006 there hadn t been a sustaining release for 2 months

Sustaining Engineering (initial Nov 2006)

Sustaining Pre-Engineering

Kanban board and daily standup meeting were introduced in early February to add a sense of urgency and team collaboration More personal responsibility and accountability Resulted in better visual control Enabled more self-organization Less management supervision Better productivity Spontaneous quality circles and frequent Kaizen events

Look how the board has changed by March! Empirically adjusted Kanban limits and much neater presentation team pride showing through

And again in April, more changes to Kanban limits and forward extension of the process to business analysis

Waste bin spontaneously introduced by team to visually communicate rejected CRs that wasted energy and sucked productivity

A report was created to detail rejected or cancelled work items ( muda )

And the process is spreading

And the technique is being introduced to major projects with much longer time horizons. This example has a monthly integration event rather than a release

More and more reports were demanded to facilitate management decisions. In this case, new reports to facilitate weekly prioritization

Spontaneous Quality Circles started forming Kanban board gives visibility into process issues ragged flow, transaction costs of releases or transfers through stages in process, bottlenecks Daily standup provides forum for spontaneous association to attack process issues affecting productivity and lead time For example, 3 day freeze on test environment was a transaction cost on release that caused a bottleneck at build state. This was reduced to 24 hours after a 3 person quality circle formed to investigate the policies behind the freeze. Result was improved smooth flow resulting in higher throughput and shorter lead time

Other spontaneous quality circle kaizen events Empirically adjusted kanban limits several times E.g. test kanban too small, causing ragged flow UAT state added Prompted by test who were experiencing slack time Expanded kanban limit on Build Ready state, added Test Ready state Introduced to smooth flow post release due to environment outage transaction cost Introduced kanban board, daily standup, colored post-it notes for different classes of service, notations on the post-its Poor requirements causing downstream waste resulted in an upstream inspection to eliminate issues with poorly specified requests

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 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 days Decision 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 TPS Implementation No FIFO queuing Tasks prioritized by cost of delay or resource availability Cost of delay is heterogeneous Resources are often specialist, not generalist or cross-trained at prev/next stations Task durations have much wider variability no tight 3 sigma limit, no takt time concept

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 industrial engineering issues Overly large CRs caused ragged flow, blew out lead time Larger variation in CR size has required larger queues and buffer extending lead time Ragged flow causes idle time even on bottleneck stations (e.g. test) Non-constraints also exert ragged flow behavior due to non-instant availability e.g. integration build Big items are now broken up, breaks the Kanban limit but pull system means no new items enter WIP until overflow is pulled through. Result is smoother flow even with big items

Cumulative Flow CR Only Business encouraged to re-triage backlog CR, Bugs and PDUs WIP growth due to additional resource allocation (good) and some sloppy management of kanban limits (bad)

Issue Management Cumulative Flow

Executive Dashboard

Mean Lead Time Trend Mean Lead Time Trend 60.0 50.0 40.0 SLA Days 30.0 CRs Bugs Combo 20.0 10.0 0.0 Dec Jan Feb Mar Apr May

Revisiting Cumulative Flow CR Only Lead Times are lengthening again due to environment rebuild and business requested delay waiting for expedite request 73 Days 53 Days 35 Days 43 Days 38 Days

Smoothed Lead Time Distribution 4 3 2 1 0 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 # CRs 81 86 91 96 101 106 Lead Time Distribution 2.5 2 1.5 1 0.5 0 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 Due Date Performance Detail # CRs Days Days MARCH

148 148 Due Date Performance Detail Lead Time Distribution 3.5 3 2.5 2 1.5 Outliers CRs &Bugs 1 0.5 0 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 Days Smoothed Lead Time Distribution 4 3.5 3 2.5 2 1.5 Majority of CRs range 30 -> 55 CRs &Bugs 1 0.5 0 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 Days APRIL

Lead Time:Touch Time Ratio as an indicator of process waste and scope for improvement has been problematic to measure accurately 100% 90% 80% 70% 60% More important is that thinking about lead time : touch time has focused line management attention on elimination of waste and reduction of variation 50% 1st calculation method 3rd calculation method CRs Bugs Combo 40% 30% 20% 2nd calculation method 10% 0% Dec Jan Feb Mar Apr

Summary Culture Change Trust, empowerment, objective data measurement, collaborative team working and focus on quality Policy Changes Late-binding release scope, no estimating, late-binding prioritization Regular delivery cadence Continuous Improvement Increased throughput, high quality, process continually evolving, kanban limits empirically adjusted

And finally, staff take a pride in their achievements

Thank you! David.anderson@corbis.com http://www.agilemanagement.net/ Rick.Garber@corbis.com

About the presenters David Anderson is Senior Director of Software Engineering with Corbis. He has 25 years experience in the software development business starting with computer games in the early 1980 s. As a pioneer in the agile software movement David has managed teams at Sprint PCS and Motorola delivering superior productivity and quality. More recently at Microsoft he developed the MSF for CMMI Process Improvement methodology. David s book, Agile Management for Software Engineering Applying the Theory of Constraints for Business Results, introduced many ideas from Lean and Theory of Constraints in to software engineering. David s team at Corbis are currently focused on introducing more Lean ideas including use of kanban, oobeya, and visual control techniques to demonstrate high levels of productivity, improved lead times and quality while using new and traditional software engineering techniques such as software factories, modeling, architecture to enable postponement and the use of real option theory in managerial decision making. Rick Garber is Manager of IT Process Engineering with Corbis in Seattle, WA where he leads process improvement initiatives for Corbis' software engineering, IT services, business intelligence and global infrastructure teams. Rick has played a key role in the definition and implementation of a kanban system for sustainment engineering at Corbis. Previously, Rick was an IT consultant/project manager with Equarius (now EMC Microsoft Solutions) in Bellevue, WA. With Equarius and subsequently with Corbis, Rick was part of a team that 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. He lives in Kirkland, WA.