implementing kanbantzutzu/didactic/agile/course 09 - kanban.pdf · if the kanban system is flowing...

54
Implementing Kanban 9

Upload: others

Post on 18-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

ImplementingKanban

9

Page 2: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

Control/Influence

NegotiateNegotiate

Analysis

Design

Coding

Testing

Requirements

prioritization

Portfolio

management

System

Operations

Page 3: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

Kanban

is an approach that drives change

by optimizing

your existing process.

3

Page 4: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

Step 1

Mapping the Value Stream

Page 5: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

1. Mapping the Value Stream

Identify Work Item Types

• Requirement

• Feature

• User Story

• Use Case

• Change Request

• Production Defect

• Maintenance

• Refactoring

• Bug Improvement

• Suggestion

• Blocking Issue

Page 6: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

Sketch the workflow

6

Page 7: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

7

1. Mapping the Value Stream

Drawing a Card WallInput

QueueAnalysis Development Test Stage Prod

FLOW

Page 8: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

8

1. Mapping the Value Stream

Input

QueueAnalysis Development Test Stage Prod

FLOW

In Prog Done In Prog Done

Page 9: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable
Page 10: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

How to put buffers?

Approach 1. Implement the system. Wait for the

bottleneck to reveal itself. Make changes to

introduce a buffer.

Approach 2. Each stage should be buffered.

Bottlenecks and variability will reveal

themselves by how full the buffers become.

1. Mapping the Value Stream

Page 11: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

11

Change

Requests

60%

Maintenance

10%

Bugs

30%

Page 12: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable
Page 13: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

13

1. Mapping the Value Stream

Work Item Card Structure

Page 14: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

14

1. Mapping the Value Stream

Work Item Card Structure

Page 15: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

15

1. Mapping the Value Stream

Work Item Card Structure

The design of the card should have sufficient information to facilitate project-

management decisions, such as which item to pull next, without the intervention or

direction of a manager => empower team members with transparency of process,

project goals and objectives, and risk information.

Page 16: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

16

Change

Requests

60%

Maintenance

10%

Bugs

30%

Setting Input and Output Boundaries4

623

Page 17: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

17

1. Mapping the Value Stream

Coping With Concurrency

Page 18: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

18

1. Mapping the Value Stream

Coping With Concurrency

Page 19: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

19

1. Mapping the Value Stream

Coping With Unordered Activities

Page 20: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

20

1. Mapping the Value Stream

Coping With Unordered Activities

Source: David J. Anderson - Kanban: Successful Evolutionary Change for Your Technology Business

Page 21: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

1. Mapping the Value Stream

- Lean Kit Kanban,

- Agile Zen,

- Target Process,

- Silver Catalyst,

- RadTrack,

- Kanbanery,

- VersionOne,

- Greenhopper for Jira,

- Flow.io

Electronic Tracking System

Page 22: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

• Identify work item types

• Draw a card wall• Define swim lanes

• Add buffers/queues

• Allocate capacity according to demand

• Define Work item card structure

• Set input/output boundaries

• Cope with concurrency & unordered activities

• Chose an electronic tracking system

Step 1

Mapping the Value Stream

Do not force visualization, transparency, and WIP limits

on any department that does not volunteer to collaborate.

Page 23: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

23

Step 2

Coordination

Page 24: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

24

2. Coordination

4623

Page 25: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

25

2. Coordination

The goal is to visually

communicate enough

information to make the

system self-organizing

and self-expediting at

the team level.

Page 26: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

26

2. Coordination

Daily Standup Meetings

- Similar with Scrum meetings

- The cards answer the 3 standup questions

=> the focus is on flow of work

- The manager/facilitator will “walk the board”

- From right to left (in the direction of pull)

- More emphasis on blocked/delayed items (mark a dot behind the

ticket for each day it stays in one single location) – mature teams will

talk only about these items

- Discussion on any other blocking issue that is not on the board

- Followed by The After Meeting (detailed discussions on issues)

Page 27: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

- Frequency: weekly (2 hours)

- Main purpose: prioritization

- Postponed until the last reasonable moment

- Together with business representatives (from potentially

competing groups within the company)

- The cadence of these meetings affect the queue sizing

=> affect overall lead time

27

2. Coordination

Queue Replenishment Meeting

Page 28: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

`

- Regularly or not (depends on releases occurrence)

- All interested parties are invited (including SO & network

specialists, developers, testers, business analysts etc).

- Risk analysis

- The outcome is a release plan

28

2. Coordination

Release Planning Meeting

Page 29: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

- Medical term to classify emergency patients:- Beyond help and likely to die soon

- Likely to live only if given immediate treatment

- Likely to survive without immediate treatment

- In software the term is used to classify defects (sometimes it is

called “backlog grooming”)

- Infrequent intervals

- Keep or delete choice

- Main purpose: reduce backlog size (easier to prioritize from 200

items than from 2000)

29

2. Coordination

Triage

Page 30: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

- use electronic tracking

- stand-up meeting over the telephone / video-

conference system

- “sticky buddies” ☺

30

2. Coordination

Synchronizing across geographic locations

Page 31: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

• Use both physical card wall & electronic tracking system

• Regular meetings reduces coordination cost

• Prioritization & release planning should be done

independently and should have independent cadence

• Daily standups used for discussing issues and flow

• Daily standups are followed by informal process-

improvement discussions

• Escalation paths & policies should be clearly defined

Step 2

Coordination

Page 32: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

32

Step 3

Delivery Cadence

Page 33: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

33

= An agreed-upon, regular interval between deliveries of

working software

- Kanban decouples delivery cadence from both development

lead time and prioritization cadence

- Short, time-boxed iterations have led to dysfunction with some

teams attempting to adopt Agile development methods

3. Delivery Cadence

Page 34: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

34

- Kanban decouples delivery cadence from both development

lead time and prioritization cadence

- Short, time-boxed iterations have led to dysfunction with some

teams attempting to adopt Agile development methods

3. Delivery Cadence

Page 35: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

35

Delivery Efficiency% =

100% x (Total Cost – (Coordination Cost + Transaction Cost) ) /

Total Cost of Software Release

3. Delivery Cadence

Efficiency of Delivery

To be more efficient we have to

(a) increase the time between deliveries, or

(b) reduce the coordination and transaction costs.

Regular

delivery

builds trust.

Page 36: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

36

Ad hoc / on-demand delivery can make sense for:

- high-maturity organizations with established,

- high levels of trust

- low transaction- and coordination costs of delivery.

3. Delivery Cadence

Efficiency of Delivery

Page 37: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

Fragmentarea cerințelor

•Fragmentarea cerințelor pentru a putea fi finalizate într-o iterație

•Provocarea este să fie respectate regulile INVEST, mai ales:

• Valoroasă pentru utilizator

• Testabilă la finele iterației

•Tentația periculoasă: fragmentarea pe

criterii tehnice

•Tehnici posibile:

• Pași dintr-un flux de activități

• De la simplu la complex

• Pe tipuri de operații

• După reguli de business

• Metoda hamburger

Page 38: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

Pași dintr-un flux de activități

În calitate de călător pe linii aerieneVreau să caut zborurile cele mai potriviteAstfel încât să ajung în condiții optime la destinațiile pe care le aleg

Introducere punct de plecare

și destinație

Afișare zboruri disponibile

Introducere data de plecare

Introducere limite de preț

Introducere linii aeriene

preferate

Introducere număr maxim de conexiuni

Cerința 1

Cerința 2

Cerința 3

Cerința 4

Page 39: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

De la simplu la complex

În calitate de montaniardVreau să aflu unde există semnal GSM în apropiere de poziția mea geograficăAstfel încât să comunic prin telefon

Antena GSM

Poziție curentă

Cerința 1 - SimpluDeterminarea distanței în linie dreaptă până la proxima antenă aoperatorului corespunzător și verificarea existenței semnalului

Cerința 2 - ComplexDeterminarea eventualelor obstacole care împiedică accesul la semnal

Cerința 3 - ComplicatDeterminarea celui mai apropiat punct cu semnal față de poziția curentă

Page 40: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

Pe tipuri de operații

În calitate de client Engie Home AssistanceVreau să gestionez solicitările mele de intervențieAstfel încât să dețin controlul asupra acestora

Cerința 1 - Adăugarea unei noi solicităriCrearea unei noi solicitări și comunicarea ei către Engie

Cerința 2 - Modificarea unei solicităriModificarea unei solicitări deja comunicate

Cerința 3 - Anularea unei solicităriAnularea unei solicitări în curs

Page 41: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

După reguli de business

În calitate de client Engie Home AssistanceVreau să anulez solicitările mele de intervențieAstfel încât să pot renunța la serviciile solicitate

Cerința 1 - Anularea unei solicitări fără restricțiiAnularea simplă a solicitării

Cerința 2 - Anularea unei solicitări când o echipă a fost deja alocatăAnularea solicitării presupune modificarea alocării echipei de lucru

Cerința 3 - Anularea unei solicitări cînd au fost comandate materialeAnularea solicitării presupune implicații financiare pentru Engie

Page 42: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

Metoda hamburger

În calitate de client Engie Home AssistanceVreau să fiu informat despre programarea intervenției solicitateAstfel încât să îmi pot gestiona calendarul personal

Cerința 1 - Prima “mușcătură”Solicitare telefonică, alocare pe listă Excel, materiale comandate la solicitare, confirmare pe mail

Cerința 2 - A doua “mușcătură”Solicitare telefonică, alocare pe calendar, materiale în stoc tampon, confirmare pe mail

Cerința 3 - A treia “mușcătură”etc

Preluarea solicitării clientului

Alocarea echipei de lucru

Asigurarea materialelor necesare

Confirmarea intervenției

Mail | Telefon | Aplicație mobilă

Excel | Calendar | Algoritm aplicație

Comandă | Stoc tampon | Personalizat

Mail | Telefon | Aplicație mobilă

Page 43: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

43

Step 4

Setting Work-in-Progress Limits

Page 44: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

44

- WIP limits should be agreed with up- and downstream stakeholders

& senior function management.

- Unilateral declaration of WIP limits is possible but may prove

difficult to defend later, when the system is placed under stress.

- WIP limits for work tasks should be set as an average number of

items per person, developer pair, or small, collaborative team.

- Typically, the limit should be in the range of one to three items per person,

pair, or team.

4. Setting Work-in-Progress Limits

Page 45: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

When introducing Kanban:

• Business owners should be educated on:

• the workflow

• the input queue

• the pull mechanism

• If there are 2 slots free in the queue:

• “Which two new items would you like next?”

• “Which two items would you most like delivered 30 days from now?” (based on the avg. lead-time)

Page 46: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

46

- Kanban is an empirical process

- All WIP limits can be adjusted

empirically

- Bottlenecks should be buffered

- Buffer sizes should be as small as

possible, but large enough to

ensure optimal performance in

the bottleneck

4. Setting Work-in-Progress Limits

Page 47: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

(a) Drum – Buffer – Rope

- Drum – the constraint / sets

the pace

- Buffer – level of inventory

needed to maintain

consistent production

- Rope – signal generated

from the buffer to release

material (indicates an

amount of inventory was

consumed)47

4. Setting Work-in-Progress Limits

Page 48: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

48

4. Setting Work-in-Progress Limits

50 pcs/h 50 pcs/h 40 pcs/h 40 pcs/h

Page 49: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

49

4. Setting Work-in-Progress Limits

Kanban deals well

with

temporary bottlenecks!

Page 50: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

50

“Excessive time should not be wasted trying to determine

the perfect WIP limit; simply pick a number that is close

enough, and make progress. Empirically adjust if necessary.”

David J. Anderson

4. Setting Work-in-Progress Limits

Page 51: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

5. Metrics & Management Reporting

• Kanban changes the way the team

interacts with its partners

• Reports used to show that

• Project is on-time and a specific plan is followed – NO!

• System is predictable and is operating as designed – YES!

Page 52: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

Work In Progress

If the Kanban system is

flowing correctly, the

bands on the chart

should be smooth and

their height should be

stable.

Source: David J. Anderson - Kanban: Successful Evolutionary Change for Your Technology Business

Page 53: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

Lead Time

Source: David J. Anderson - Kanban: Successful Evolutionary Change for Your Technology Business

Page 54: Implementing Kanbantzutzu/Didactic/Agile/Course 09 - Kanban.pdf · If the Kanban system is flowing correctly, the bands on the chart should be smooth and their height should be stable

Throughput

Number of items

delivered in a given

period of time

Source: David J. Anderson - Kanban: Successful Evolutionary Change for Your Technology Business