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



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

Scrum vs. Kanban vs. Scrumban

Kanban For Software Engineering

agenda AGILE AT SCALE

Lean Software Development and Kanban

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

MTAT Software Engineering

LEAN AGILE POCKET GUIDE

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

Agile and lean methods for managing application development process

The Agile Manifesto is based on 12 principles:

Getting Started with Kanban Paul Klipp

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

Agile Requirements Definition and Management (RDM) How Agile requirements help drive better results

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

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

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

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

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

Using Kanban Boards in Agile

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

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

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

Agile and lean methods for managing application development process

Kanban vs Scrum Making the most of both

CMMI and KANBAN is it possible?

Getting Started with Agile Project Management Methods for Elearning

Modern Risk Management with Kanban

Kanban what is it and why should I care?

Introduction to Software Kanban

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

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

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

Kanban game. Danske Bank version developed by Sune Lomholt based on Software development Kanban Christina Skaskiw

Improving Software Development through Combination of Scrum and Kanban

AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT

The style is: a statement or question followed by four options. In each case only one option is correct.

Organizational agility the ability to react quickly to changing market circumstances is. Agility and Cost. Organizational Design and Key Workflows

Introduction to Agile

A Kanban System for Sustaining Engineering on Software Systems

Agile to the Bone. Introduction to Agile by Pietari Kettunen

Agile Extension to the BABOK Guide

A Kanban System for Software Engineering

Visibility of the project status, usage of agile methods and tools

Scaling Agile with the Lessons of Lean Product Development Flow Copyright 2012 Net Objectives, Inc. All Rights Reserved

Agile Software Development

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

Agile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson

AGILE BUSINESS INTELLIGENCE

Kanban in a nutshell. Chapter Origins and Principles

Introduction to Agile and Scrum

VISUAL management techniques for optimum INVENTORY form, fit and function

Lean Silver Certification Blueprint

Getting Started with Lean Process Management

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

White paper: Scrum-ban for Project Management

Appendix Lean Glossary Page 1

The Benefits of Deployment Automation

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

Designing your Kanban Board to Map your Process

Kanban for Software Engineering

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

Leading Continuous Improvement in Established Agile Organizations

Software Engineering I (02161)

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

Kanban vs Scrum Making the most of both

Mastering the Iteration: An Agile White Paper

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

Best Practices: Inventory Management for the Small to Medium-Sized Business

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

Agile Project Management By Mark C. Layton

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

Leading ITSM from Scrum to Kanban

Five Tips to Achieve a Lean Manufacturing Business

EXIN Agile Scrum Foundation. Sample Exam

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

Product Development: From Conception to Execution. Slide 1

Lean software development measures - A systematic mapping

Ten Critical Questions to Ask a Manufacturing ERP Vendor

CSPO Learning Objectives Preamble. Scrum Basics

Bridging the Gap Between Acceptance Criteria and Definition of Done

Release Notes Applied SAFe 4.0

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

Kanban A Lean approach to Agile software development

Lean manufacturing and ERP: How to leverage ERP to get lean

Personal Kanban. Stop wasting your life

AGILE & KANBAN IN COORDINATION. Ryan Polk

Ten Critical Questions to Ask a Manufacturing ERP Vendor

Lean Manufacturing Strategic Initiative Guidebook

An Agile Developer s Guide to Lean Software Development

Lean Principles by Jerry Kilpatrick

Sometimes: 16 % Often: 13 % Always: 7 %

How to Manage an Agile/Kanban Software Project Using EVM

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

When agile is not enough

USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell

Transcription:

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

In this short talk we ll cover: 1. What is a Kanban System and how does it apply to software development? 2. How to set up a development team Kanban System 3. Applying Lean thinking to agile software development As a bonus you ll learn some nifty Japanese words not so useful in every day conversation 2

Kanban cards limit excess work in progress Kanban literally means visual card, signboard, or billboard. Toyota originally used Kanban cards to limit the amount of inventory tied up in work in progress on a manufacturing floor Not only is excess inventory waste, time spent producing it is time that could be expended elsewhere Kanban cards act as a form of limited currency representing the WIP allowed in a system. 3

Kanban simulation Let s simulate a simple production process, then see if we can improve it by adding a Kanban system. I ll need 5 volunteers to manufacture the latest in high-tech aircraft 4

How is this relevant to software development? How isn t it? after all, we re not building aircraft 5

Time-boxed iterative & incremental development has challenges Common problems include: 1. Short time-boxes force development items to be smaller and valuable items to be spread over many iterations 2. Quality of requirements suffers as analysts & UX designers rush to prepare for upcoming cycles 3. Quality of current development suffers when busy analysts and UX designers are unable to inspect software or answer questions during development 4. Quality often suffers as testers race to complete work late in the development time-box 5. Unpredictable work makes it difficult to plan even a few weeks in advance 6

Inside an iteration, effort across roles is uneven Development work often continues throughout a cycle while testing starts late and never seems to get enough time 7

Focusing on smoothing flow is a Heijunka - production smoothing, or the reduction of waste from unevenness Mura - - unevenness, inconsistency in physical matter or human spiritual condition 8

Kanban boards visualize flow 9

How to set up a simple Kanban system for a software development team. 10

1. Define a work process flow This simple process flow has the steps: 1.elaboration & acceptance criteria 2.development 3.test 4.deployment Look at the typical flow for features, stories, or work packages and describe typical process steps 11

2. Lay out a visual Kanban board Place an expedite track outside the main left to right queue Place done and waiting queues between each work queue (in this example they re placed below) Place a goals column on the left, then a waiting queue, the process steps, and a final done column to the right 12

3. Place prioritized goals on the left column of the board Having goals visible: promotes focus helps us prioritize helps us manage feature scope & requirements A good goal describes the outcome we hope to achieve after software ships. Goals help keep focus on the larger outcome. 13

4. Decide on limits for items in queue and work in progress This board uses painters tape to indicate available slots for work in progress A good limit is a factor of the number of people in a role that can work on an item in a given process step. Start with number of people * 1.5 14

5. Start the board by placing stories or features in queue Product owners manage the waiting queue Mark on the story or feature card the date it entered the queue. This begins our measurement of cycle time. 15

Using a strict Kanban approach drops iteration planning from time-boxed iterations in favor of focusing on continuous flow 16

6. Move features through the process flow as work is completed As the story enters the first process step, mark that date on the card. This is the start date. As it s finished, mark that date on the card. This is the finish date. 17

7. Use the dates on the cards to calculate cycle time Cycle time = finish date start date The average cycle time from the date the item enters the board is the wait time from this point in the queue Use average cycle time to set wait times from different points on the board. Pay attention to flow and bottlenecks: relieving bottlenecks as quickly as possible. 18

Display and manage cycle times Disneyland s public display of current cycletimes by ride Reduce the number of Kanban slots allowed until cycle time remains unchanged Reduce the size of development items Work in progress is actually the number of items * the average size of items Identify and act on bottlenecks immediately Relieve repeated bottlenecks by changing the number and types of people in each role and cross training 19

Kanban Boards 20

Kanban Boards 21

Kanban Boards 22

Kanban Boards 23

Kanban Boards 24

Explode large process steps into tasks to improve visibility of flow When a feature, user story, or work item is large: Takes longer than a couple days to complete Requires that multiple people collaborate on its completion Decompose that step into cards to track independently Feature to develop Tasks in queue Tasks in progress Tasks complete Feature complete 25

Kanban Board with Task Decomposition 26

Use cumulative flow diagrams to visualize work in progress www.agilemanagement.net/articles/papers/borconmanagingwithcumulat.html 27

Use cumulative flow diagrams to visualize work in progress www.agilemanagement.net/articles/papers/borconmanagingwithcumulat.html 28

Use Kanban boards to visualize flow across the entire process inside and outside the iteration Discovery Delivery 29

Keep a time-boxed product and process inspection cadence Keep regular time-boxes in your process as a cue for product inspection: Evaluate the quality of the growing product from a functional, engineering, and user experience perspective Evaluate your pace of development: Look at the number of development items completed relative to goals Look at the average cycle time per development item Calculate the ratio of developer days per completed item. Use this ratio to estimate the completion time for undeveloped items Adjust your development plan as necessary Evaluate and adjust the process you re using Use a process reflection session to identify changes you could make to improve your product or pace Ending cycles right: http://www.stickyminds.com/s.asp?f=s14865_col_2 30

Begin looking at your process using Lean thinking Cockburn s Software Engineering in the 21 st Century: http://alistair.cockburn.us/software+engineering+in+the+21st+century.ppt 31

Since we re engaged in knowledge work look at the cycle time of validated decisions, or knowledge Cockburn s Software Engineering in the 21 st Century: http://alistair.cockburn.us/software+engineering+in+the+21st+century.ppt 32

Often the feedback loop is overlooked it s the invisible backed-up queue Cockburn s Software Engineering in the 21 st Century: http://alistair.cockburn.us/software+engineering+in+the+21st+century.ppt 33

Setting up a simple Kanban system starts to focus the team on the cycle-time of delivered work and gives a way to detect and begin to resolve bottlenecks 34

My top reasons for trying Kanban: 1. Makes work in progress visible 2. Visualize flow across the entire value stream - before and after the iteration 3. Increase collaboration across job roles 4. Simply setting up a visual Kanban board doesn t require any big process changes 35

Questions? 36

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

Kanban References: Anderson, Kanban in Action: http:// www.agilemanagement.net/articles/weblog/kanbaninaction.html Hiranabe, Kanban Applied to Software Development: from Agile to Lean: http://www.infoq.com/articles/hiranabe-lean-agile-kanban Ladas, Scrumban - Essays on Kanban Systems for Lean Software Development: http://www.lulu.com/content/3864767 Ladas, Scrum-ban: leansoftwareengineering.com/ksse/scrum-ban/ http:// Belshee, Naked Planning, Kanban Simplified: http://joearnold.com/2008/03/naked-planningkanban-simplified/ 38