Introduction to Kanban

Post on 15-May-2015

85 views 2 download

Tags:

Transcript of Introduction to Kanban

Introduction to Kanban

Abhilash ChandranXerox

Tata Elxsi – Agile Xcellenz Week

What are we going to discuss today?

• What is Kanban?• How can we apply Kanban principles to

software development

Kanban

• Literally means “visual card,” “signboard,” or “billboard.”

• Used by Toyota for Lean and Just In Time Manufacturing

Kanban Card

Why Kanban ?

Light

• Light process for continuous improvement• Lot of option for innovation

Kanban in Software Development

We love

• We prefer short iterations for frequent feedback

• More opportunities – For measuring progress– Inspect & Adapt

The problem

• Daily or hourly changes – we need shorter cycles.• Each small function contributes to the bug

software– Difficult to analyse the impact of small items

• People rushing to finish testing before iteration ends

• Last minute top priority items • Low quality• Technical debts

Not a Pretty Picture

©Jeff Patton

But we see it in many Scrum Teams

What does Kanban enables us to do?

Manage Dependencies

• A way to manage dependent events • Limit Work In Progress ( WIP)– Multitasking is waste – Avoid it

The small picture

• Visualize the change/challenges• Visualize the workflow• Focus on Flow not on iterations– Optimize the flow– Remove the impediments to flow

Mange Flow

© Emil Van Est

Push vs Pull

• Promotes Pull

• Promotes Pull system

Start our Journey

• Divide task into smallest units – Why?

Multiple teams can work on same Kanban Board

But in Scrum We had only one team. hmmm

Scrum Board

Kanban Board

Kanban Board

State with Ready columns

Discussions with teams

• Ready lane to show the upcoming work• Prompts discussion when something is ready

to move to next stage• Identify bottlenecks when queue builds up

Confusion

• How to identify the Lanes needed?– What you need to show?

• How to find the appropriate WIP– Usually less than the number of people in

team/teams

Advice

When in doubt start with Less– Eliminates Waste– Experiment & find what is best for you

WIP - Do

• Limit WIP on columns, boards• Visually represents the bottleneck• Force people to do work in pairs or in groups• Can discuss what the problem is• Innovate & find better solution with limited

capacity

WIP - Outcome

• Predictability• Small batch sizes• Small sizes promotes more in depth discussion

Cycle time

• Cycle time – Time taken by a card to reach the done state

• Usually we add date/time to card when it starts and pass through each stage

• Different types of cycle time– End to End– Phase/stage

Cumulative Flow Diagram

• Lead Time - Similar to cycle time except it is generally the time for the entire process from commitment to customer delivery.

• Throughput - The count of work items finished in a given time period (week, month, quarter, etc.), analogous to the Scrum metric of velocity

We like Kanban so we will transform everything tomorrow

Not exactly…..

Baby Steps

• Start with what you do now• Take SMALL steps• Apply the PDCA cycle on top of Kanban

PDCA Cycle

• The PDCA (Plan DO Check Act) cycle was made popular by Dr. W. Edwards Deming.

Borrowing from Scrum World

• Product Owner or BA prioritize the work • Daily Kanban Meeting to discuss the flow• Upload to production – Daily– Weekly– Date– A critical mass is accumulated

• Daily/Weekly Meeting to Review the progress – Retrospective– Stronger Feedback cycle helps in better outcome

Core Practices

1. Visualise2. Limit WIP3. Manage flow4. Make policies explicit5. Feedback loops6. Improve collaboratively, evolve

experimentally

Kanban is

• Not a Project Management Methodology• Not a Software Development Process • is a service-oriented approach to management

& organization

Questions

Contact Me

• Email : c.abhilash@gmail.com• Twitter : https://twitter.com/cabhilash• Blog : http://www.TheAgileSchool.com