Agile Learning Labs - Meetupfiles.meetup.com/9788192/agileMeetup-Kanban.pdfThe Kanban Board...

Preview:

Citation preview

welcome to

Agile Learning Labs

Understanding Kanban

Nikos Batsios

Agile Coach

personal thoughts: https://escapelocaloptimum.wordpress.com

A Kanban Bitamin Injection start from where you are right now

If we have nothing to look at, we have nothing to act on

Visual systems like Kanban, draw their power from our preference for visual information

Once we see our work and the process related to it, we create and build a

shared understanding for Business and IT people

Understanding Kanban

Principles or Practices call them as you want :-) ★ Visualize ★ Limit Work In Process ★ Manage Flow ★ Make Process Policies Explicit ★ Implement Feedback Loops ★ Improve Collaboratively, Evolve Experimentally

✤ Visualising your work

Visualising the work

Make all necessary information visible when people need it, enabling effective

collaboration and improvement through understanding how work works.

To achieve this you have to make polices explicit and make use of information

radiators

Information Radiators

✤ Big visible displays ✤ Keep them easy to update ✤ Keep them big ✤ Use them or lose them ✤ For you and other interested parties

The Kanban Boarddifferent colour could indicate different types of work (classes of services), could help to decide how to prioritise

different stages of your workflow shown as columns

the actual work item. add just enough information required to understand the status of the work item

swim lanes can be used to split up the board to handle different types of work on the same board. as example here is a swim lane to indicate expedite, urgent work items

The Kanban Board

✤ things to know when working as a team ✴ who is working on what? ✴ are we focused on highest priority items? ✴ are there any blocked items remaining

unresolved? ✴ are there place where queues are created

due to bottlenecks?

The Kanban Board

✤ Use a big board to radiate information about your work

✤ Physical or electronic board can serve different purposes. try to make the most out of them

✤ Use daily standup meetings in front of the board to collaborate and learn together

Workflow Mapping✤ Let the board reflect your ACTUAL workflow

✤ Learn by using examples

✤ Do not think too much. be prepared for changes

use abstract names for stages to fit your different

types of work not all types of work go through all the stages.. and

that is ok! (e.g bugs!)

Queues

✤ Examples of Queues ✴ Todo: fist column ✴ Ready for Development: things that have been

analysed and are ready to be picked by developers ✴ Development Done: items that have been developed

and now are ready for testing ✴ To Test: stuff that is ready to be tested

queues, can help you manage handoffs, get more even flow of work, give visual signals

when work can start!

Queues

which criteria need to be met in order for me to move a work item from one

column to another?

Entry and Exit Criteria

keep in mind that criteria and policies are incrementally changing and improved! review them at retro, RCAs, always ask: did we

follow the criteria?

✤ Work Items

overview

show a blocker

show progress on a work item

gather data for check in and check out!

mark an important deadline that you

cannot miss!

reference to an electronic tracking

system

estimated size of the work item

who is working on that

work item description

RED = defect indicate the type of work

Types of Work

✤ Different colours for different types of work

✤ Helps prioritization

✤ Avoid yellow sea

✤ Use colours for a reason

✤ Work In Process

What is Work in Process

✤ All the work that you have going on right now.

✤ Work that you actually working on, work that is waiting to be verified or deployed, and also work not started yet.

✤ It is all the work that you need to do to deliver value to your customers

it does not mean to do less work, it means do less work at

the same time. limiting WIP helps you complete more work in total more

quickly

Little’s Law

time through the process for each item

number of items you work on at the same time

average time it takes to complete each item

✤ Little says that the more things you have going on at the same time, the longer each thing will take

example 1 example II example III

Effects of too much WIP✤ Context switching (keep your own WIP minimum!, finish

one prior starting another)

✤ Delay causes extra work due to long feedback loops (think of a bug introduced in the past and you learn about it quite late!)

✤ Increased RISK (high WIPs -> increased lead times -> market loss?, obsolete features? e.t.c

✤ More overhead (need for coordination, reporting, tracking, planning e.t.c)

✤ Lower Quality due to long lead times, prolonged feedback loops

✤ Decreased Motivation

✤ Limiting Work in Process

Searching for WIP limitswhat is the right

WIP for your and your time right now?

well, depends! how much pressure there is to improve your

organization? which is the number of people in your team/org and which is their

availability? which is the same and size of your work items?

..

✤ Lower is better than higher

✤ People idle or work idle

✤ No limits it is not the answer

Lower is Better than Higher

✤ Lower WIP -> Better lead times -> Faster feedback -> Force you see and remove impediments -> Improve the flow of work items

✤ Too low WIP -> will surface too many problems -> you might end up resolving problems more than delivering value

No Limits it’s not an Answer

removing your WIP limits will remove your willing to improve. without WIP limits nothing triggers us to get

better!

unused boards, no flow

Principles for WIP limits

✤ Stop Starting, Start Finishing

✤ One is not the answer

the more you finish the more you finish,

John Seddon

Limiting WIP per column

✤ Start from the bottleneck ✴ A bottleneck is a step in your

workflow that slows your flow down ✴ Limit the step feeding the bottleneck

to keep it from being flooded ✴ Drive the team to resolve the

bottleneck

increase the throughput from the upstream, will create

queue!

increase the throughput from the downstream, useless, since

there will be no work!

but what about developers? what they should work on?

Limiting WIP per column

✤ Pick a column that will help you improve ✴ example ✴ pick the development column ✴ add a limit

1. 1.5 the number of developers 2. double your current items and reduce

them 20%-30% periodically 3. just pick a number!..(avoid paralysis by

analysis) ✴ collaborate to finish fewer items faster

Limiting WIP per column

Imagine John, the guy that build an app and he is the one that every decision related to this app should go through him! ✴ What will happen if John is on vacations? ✴ Are there any work items that do not require John

involvement? ✴ Do you think that autonomy and mastery might increase if

more people of the team could get into this app? ✴ If we free up some time from John wouldn’t be great for him

to work on more complex stuff that might be the only one to know?

✤ Managing Flow

FLOW✤ One-Piece continuous flow means

✴ no waiting, delays, handoffs, over-production ✴ just value-adding activities

✤ Waste is something that stops work from flowing

✤ Examples of waste ✴ Partially done work, extra features, relearning,

and handoffs

✤ Do not become obsessed with removing waste, instead look at the Return of Time Invested

all we are doing is looking at the time from the

moment the customer gives us an order to the point when we collect the cash. and we

are reducing that time line by removing the non value-added wastes

Taiichi Ohno

what is stopping the work from flowing? What does the customer want from this

process? (end customer, internal customer e.g in the next

phase of productions e.t.c)

there is no greater waste than overproduction,

Taiichi Ohno

Helping the Work to Flow✤ Limit Work in Process (resource efficiency versus flow efficiency, MRI or fire department)

✤ Reduce Waiting Time (measure waiting time, make work ready for next stages)

✤ Remove Blockers - Never been blocked! The Prime directive of Agile Development (swarming, demonstrate shared ownerships and responsibility, work outside of your specialization, reflect on your blockers, keep data, avoid starting new work if you are blocked)

✤ Avoid Rework (build quality-in from the start, avoid doing the wrong things right- failure demand)

✤ Use Cross Functional Teams (all skills, less handovers & dependencies

✤ Use Service Layer Agreements (define cycle time for items) and time box your work (review & adapt work)

Helping the Work to Flow

✤ As David Joyce suggested: ✴ Can you help finish work that is already in process? Do that!

✴ Do you have the skills needed for that? Look for bottlenecks or other things that slow down your flow, and help resolve them

✴ Do you not have the right skills to help resolve a bottleneck or remove a blocker? Pull new work into the system, as long as you do not exceed the WIP

✴ If you still find yourself without work, find something interesting that you think will help the team, and do that

✴ Too much idle time. Start cooperating more, pair more, learn more

Metrics

Throughput

✤ One day in Kanban Land

Recommended