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



Similar documents
A Kanban System for Sustaining Engineering on Software Systems

Kanban Systems for Software Engineering

A Kanban System for Software Engineering

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

Kanban For Software Engineering

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

Scrum vs. Kanban vs. Scrumban

Agile and lean methods for managing application development process

WHY KANBAN? Troy Tuttle. blog.troytuttle.com. twitter.com/troytuttle. linkedin.com/in/troytuttle. Project Lead Consultant, AdventureTech

Kanban A Lean approach to Agile software development

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

Introduction to Agile and Scrum

LEAN AGILE POCKET GUIDE

Agile and lean methods for managing application development process

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

Lean Software Development and Kanban

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

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

Waterfall to Agile. DFI Case Study By Nick Van, PMP

CMMI and KANBAN is it possible?

MTAT Software Engineering

The Agile Manifesto is based on 12 principles:

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

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

WHITE PAPER. Kanban execution: Optimizing work-in-progress (WIP) Towards achieving a shorter lead time and better flow rate.

Kanban for Software Engineering

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

Do Less, Accomplish More with Lean Thinking

Modern Risk Management with Kanban

White paper: Scrum-ban for Project Management

Agile Scrum Workshop

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

Roles: Scrum Master & Project Manager

Risikominimering I IKT-prosjekter - experiences from the Danish Government

SCALING AGILE. minutes

Measuring ROI of Agile Transformation

Getting Started with the DCHR Service Desk. District Service Management Program

When agile is not enough

Vision created by the team. Initial Business Case created. Cross functional resource meeting held. Agile alignment meeting

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

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

The Basics of Scrum An introduction to the framework

Kanban what is it and why should I care?

Improving Software Development through Combination of Scrum and Kanban

Software Engineering I (02161)

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

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

Metrics-Based Process Mapping (MBPM)

Agile & Kanban In Coordination

Agile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software.

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

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

White paper: Developing agile project task and team management practices

Breakfast seminar. Sales & Operations Planning. Dan Schultz Håkan Espenkrona Peter Wahlgreen Tetra Pak

An Intranet Redesign on a Tight Budget

Kanban vs Scrum Making the most of both

How to Initiate and Sustain Lean Process Improvement

agenda AGILE AT SCALE

Personal Kanban. Stop wasting your life

10 kanban boards and their context

"Bezpieczny Projekt"

Managing Agile Projects in TestTrack GUIDE

Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London conchango

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework

SESSION 303 Wednesday, March 25, 3:00 PM - 4:00 PM Track: Support Center Optimization

Using the Lean Model for Performance Improvement

Agile Metrics - What You Need to, Want to, and Can Measure. June 9, 2014

Getting Started with Kanban Paul Klipp

Kanban vs Scrum Making the most of both

ChaMP (Change Management Process)

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

RAPID ENGINEERING WITH AGILE RIGHTSHORE DELIVERY (REWARD)

Using Kanban Boards in Agile

Kanban in a nutshell. Chapter Origins and Principles

VISUAL management techniques for optimum INVENTORY form, fit and function

PREMIER SERVICES MAXIMIZE PERFORMANCE AND REDUCE RISK

Kanban kick- start. By Tomas Björkholm at Crisp, April 2011

Agile Training Portfolio

AB Suite in the Application Lifecycle

Agile Beyond The Team 1

Building an Effective Roadmap

OPTIMIZING THE USE OF VHA s FEE BASIS CLAIMS SYSTEM (FBCS)

Applying Lean on Agile Scrum Development Methodology

Lean Manufacturing Essential Principles

3 Steps to an Effective Retrospective December 2012

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

Kanban. Marek Majchrzak, Andrzej Bednarz Wrocław,

Xavier University: IT Portfolio Management and the Project Request Process

Creating a High Maturity Agile Implementation

When User Experience Met Agile: A Case Study

Designing your Kanban Board to Map your Process

Agile Based Software Development Model : Benefits & Challenges

Transcription:

Kanban Creating a Kaizen Culture and evolving Lean Software Engineering Solutions David J. Anderson President, Modus Cooperandi, Performance Through Collaboration

What is a kanban system?

Kanban allows us to implement my recipe for success Focus on Quality Reduce (or limit) Work-in-Progress Balance Demand against Throughput Prioritize

Case Study Microsoft 2004/2005 XIT one of Microsoft s 8 IT departments XIT Sustained Engineering Small team Change requests Supports over 80 applications (and growing) Engineering responsibilities moved from Redmond (Washington, USA) to Hyderabad (India) in 2004 Hyderabad vendor is CMMI Level 5 and uses TSP/PSP Initial quality is very high

Dark Days in July 2004 Sustained Engineering Supply v Demand Change Requests Product Managers 90 80 Change 70 Requests 60 50 40 30 20 10 0 Jan-04 PM Apr-04 Quarters Supply Backlog Demand Jul-04 Dev Mgr Supply Demand is outstripping supply and the queue is growing 155 Days Test Mgr Manager resigns end June 2004 open position Q3 2004 Backlog is 80+ and growing about 20 per quarter User Acceptance Test Lead time is 155 days Customer satisfaction lowest in IT department

Estimation (ROM) was Top Priority Product Managers PM Mgr Change Requests 3 Developers, 3 Testers ROM But 80 Applications Estimation was using 33%-40% of available capacity!!! What happens?... Backlog 155 Days ROM Test Mgr Open and Read Source Code Read Application Guide Whole process about 1 day per developer and tester SLA 48 hours to return User a rough Acceptance order Test of magnitude estimate (ROM) All change requests are ROM estimated ROMs are expedited as top priority due to SLA

Actual effort was miniscule compared to lead time of 155 days Change Requests PM Dev Mgr Test Mgr 25 ROM 20 ROM Historical data gathered over 9 months showed that a typical change request took approx 5 business days to process through development Product Managers Backlog Low end was 1 day High end 15 days 155 Days C h a n g e R e q u e s t s 15 10 5 0 1 to 2 3 to 5 6 to 10 11 to 15 Effort in Days User Acceptance Test > 15 Dev Test

Are Estimates muda? Change Requests PM ROM Dev Mgr ROM Test Mgr Only 52% of requests were actually ever completed Other 48% Too big (bigger than 15 days) Too expensive (low value versus cost) Overtaken by events, application decommissioned before request is processed User Acceptance Test ROMs are taking 40% of capacity but 48% of ROMs represent analysis that is never used beyond estimate, schedule and go/no go decision! Knowledge work is perishable. ROM analysis is done months before work Backlog 155 Days is conducted and there is no guarantee that ROM is conducted by same engineer who will code or test. Conclusion all ROMs are muda Product Managers

Could it get worse? Expediting PTC Non-code Fix Change Requests PM Dev Mgr Test Mgr ROM ROM User Acceptance Test Product Managers Backlog Production Text Change E.g. 155 Days graphical changes, data changes, anything that didn t require a developer Must be expedited Need to make formal QA pass

State Model XIT Change Request New New More Info Backlog Approved Dev Queue Resolved Test Queue Analysis Info Received On Hold Started Started On Hold Re-opened Dev Failed Test Passed Virtual Kanban limit initially 8 = WIP + 7 days buffer Transferred to Proj Team Pending Future Project By Design Duplicate Won t Fix No Repro Resolved (needs exception) Failed, Scope Changed UAT Queue UAT Started Passed Virtual Kanban limit initially 8 = WIP + 7 days buffer Abandoned SOX Complete Closed Released Production Queue

Intervention 1 Pace the Line from Development PTC Expedite Change Requests PM Product from Test not Backlog Dev Managers Kanban 8 cards (3 WIP 5 Buffer) Development Kanban Typically enough for WIP + 7 days Test Kanban Typically enough for WIP + 7 days Kanban 8 cards 25 Days Local Mgr User Acceptance Test Pace line at rate of consumption At times of high expediting levels, kanban insures that line is paced Reduces lead time by insuring single-tasking Focuses customer acutely on selection of highest priority (urgency) requests for insertion into empty buffer slots

Intervention 2 Stop Estimating Change Requests PM PTC Expedite Kanban 8 cards (3 WIP 5 Buffer) ROM activity abandoned Freed up 40% capacity Instant boost to productivity numbers Kanban 8 cards Local Mgr Edge cases Too big (take risk, identify once in development) Too expensive (don t care) Following Deming s advice manage for the normal and treat exceptions as exceptional Product Managers Stop cost accounting No such thing as a cost of change request Costs are fixed Funding Backlog is spent with vendor on 12 month 25 contract Days and paid out on monthly burn rate All changes would be treated equally for cost purposes Based on average of 5 business days through development User Acceptance Test

Throughput and Cost Zero Backlog achieved Some idle time Lowers metrics 60 50 $7500 Highest Productivity per person 56 40 30 45 45 20 10 17 $2900 $3300 0 Sep-04 Dec-04 Lowest cost Mar-05 Jun-05 Sep-05 Dec-05 Shortest lead time Highest customer satisfaction

Why Lead Time is the best metric XIT-SE TTR From 5 Months To 3 Weeks in 5 Quarters 180 160 140 New Manager No More ROMs New Prioritization Process Flow Management Other Sev TTR Sev 1 Zero Backlog Calendar Days 120 100 80 60 40 20 0 Lowest cost Highest Productivity per person Changed dev : test ratio from 3:3 to 4:2 FY04 Q4 FY05 Q1 FY05 Q2 FY05 Q3 FY05 Q4 FY06 Q1 FY06 Q2 Quarter Shortest lead time Highest customer satisfaction Increased dev : test from 4:2 to 5:3

At Corbis in December 2006, we implemented a detailed kanban system for sustaining engineering

Kanban limits create a pull system and white board provides visualization of flow through to delivery Kanban Limit regulates WIP at each stage in the process Pull Flow from Engineering Ready to Release Ready

Colors are used to designate classes of service for work items Change Requests and Production Bugs Customer valued and prioritized by governing board

Quantity of blue tickets on the board is an immediate indicator of development quality that is impeding flow of customer valued work and reducing throughput Engineering Defects direct indicator of quality impact on productivity, linked to yellow sticky, not counted against kanban limit

Non-customer valued but essential work is tracked as a different class of work IT Maintenance Work Technology department reserving capacity for its own maintenance difficult to prioritize with business count against kanban limits

Expediting the Silver Bullet Process allows for a single Silver Bullet expedite request Silver bullet is hand carried through the system Personal attention from project manager Automatically jumps queues Required specialist resources drop other work in preference to working the silver bullet Release dates may be adjusted to accommodate required delivery date

Quantity of pink issue tickets on board directly indicates flow impacting problems that need attention from management Issues are the exception attached to work items that are blocked for external reasons and call attention to problems preventing smooth flow

Temporary classes of work may be introduced tactically to maximize exploitation of the system Extra Bug Special class of production bug, worked by slack developer resources and specially selected not to impact solutions analysis. Tested by developers not testers. Allows maximum exploitation for improved throughput

Kanban tickets hold a lot of information that enable decentralized control and local decision making when deciding priority of items to pull through the system Electronic ID number Issue attached to change request indicates management attention required Hard delivery date for regulatory, legal, or strategic reasons Assigned engineer Date Accepted clock starts on SLA Signifies item that has exceeded SLA indicates that item should be prioritized if possible

Kanban delivers iterationless development Releases were agreed and planned for every 2 nd Wednesday Prioritization Board meetings were held every Monday Release content is bound and published only 5 days prior Prioritization meetings are required only to answer the question, Which items from the backlog do we want to select this week to fill any empty slots in the input queue? Prioritization holds change request selection until the last responsible moment It keeps (real) options open

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 Average item takes 14 days of engineering Input and sizing is decoupled from cadence of releases 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)

Look how the board has changed by March! Empirically adjusted Kanban limits reacting to industrial engineering issues. Much neater presentation pride in the process is forming

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

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

September 2007 Business Analysis and Systems Analysis merged eliminating 25% of lead time consumed as queuing waste

And the process is spreading inside Corbis

And externally at companies like Yahoo!

this one on the Mash social network team

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 every two weeks

5 months later significant changes are evident

Major project with two-tiered kanban board

Major Project with two-tiered kanban board using swim lanes for feature sets

Less mature major project in trouble adopts kanban to bring a focus to daily routine and visibility to work-inprogress to team and management

Next Day Team is maturing quickly and has refactored the board with swim lanes for functional areas

Kanban has allowed scaling standup meetings to much larger teams than is typical with Scrum In this example more than 40 people attend a standup for a large project with 6 concurrent development teams. The meeting is usually completed in approximately 10 minutes. Never more than 15.

Bargaining, Democracy & Collaboration First 8 weeks prioritization board would bargain against the available slots and WIP limit I ve got two small requests can you treat them as one? People started to lobby each other and build business cases to get items selected Familiarity with the system led to the consensus decision to adopt a democratic process 3 months later it was evident that democracy didn t always select the best candidate And it was replaced with a collaborative process based on strategic and current tactical marketing objectives

The process has shown remarkable robustness to gaming from the business Prioritization board consists of VPs from 6 business units Understanding that expediting costs throughput and lead time has resulted in an expectation that only critical items qualify for Silver Bullet status Attempts to game prioritization by setting a delivery date are tightly scrutinized by the board As a result the process is self-regulating with the prioritization board enforcing the antigaming rules As a result the Silver Bullet and delivery date options are seldom used

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 Cross-functional collaboration Previously unheard of VP level selfless collaboration on business priority Self-regulating process robust to gaming and abuse Continuous Improvement Increased throughput, high quality, process continually evolving, kanban limits empirically adjusted

Learn More Join the Kanbandev Yahoo! Group Corey Ladas Lean Software Eng Blog http://leansoftwareengineering.com/ Agile Management Blog http://www.agilemanagement.net/articles/weblog/blog.html

Thank you! dja@agilemanagement.net http://www.agilemanagement.net/

About David Anderson is a thought leader in managing effective software teams. He is the President of Modus Cooperandi, a consulting firm dedicated to improving leadership in the IT and software development sectors. 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, Motorola and Corbis delivering superior productivity and quality. 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 was a founder and is a current board member of the APLN, a not for profit dedicated to promoting better standards of leadership and management in knowledge worker industries. He can be contacted at Email: dja@moduscooperandi.com