Learn Kanban - Agile Software Development Methodology

16
Kanban Implementation Orientation Session By Altaf Al-Amin Najvani This work is distributed free of charge under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License and it is intellectual property of Altaf Najvani. Shortly means you can use it for free,

Transcript of Learn Kanban - Agile Software Development Methodology

Page 1: Learn Kanban - Agile Software Development Methodology

Kanban ImplementationOrientation Session

ByAltaf Al-Amin Najvani

This work is distributed free of charge under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License and it is intellectual property of Altaf Najvani. Shortly means you can use it for free, you can’t resell it and you are required to share any further modification with the same license format.

Page 2: Learn Kanban - Agile Software Development Methodology

Peek-a-Boo Methodology!!

Visibility to the actual status and progress of the work is “Random”.

00:59:59

Page 3: Learn Kanban - Agile Software Development Methodology

Team CommunicationDeveloper Developer

Developer

Developer

Developer

Developer

Manager

Developer

Developer

Developer

DeveloperDeveloper

00:58:50

Page 4: Learn Kanban - Agile Software Development Methodology

The Pizza Game• Prepare PizzaTo produce as many pizzas as You can while trying to avoid waste i.e. raw materials prepared but not used.

• Ingredients:• Pizza Base• Tomato Sauce• Chicken• Pineapple• Cheese

01:00:00

Page 5: Learn Kanban - Agile Software Development Methodology

The Pizza Game• Instructions:• A slice of pizza base (paper triangle)• Tomato sauce (red marker)• Three slices of Chicken (Green Post-Its) • Three slices of Pineapple (Yellow Post-Its). • Cheese Sprinkles (Off-White Post-Its)• The tomato sauce covers the pizza bottom nicely and the

toppings are carefully cut and distributed evenly across the pizza. Yum!• There can be a maximum of three pizza slices in the oven

at one time. Cooking time is at least 30 seconds. • No adding or removing of slices while baking!

00:59:50

Page 6: Learn Kanban - Agile Software Development Methodology

Point System to Measure & OptimizeWork Points EarnedPizza Base (With or Without Sauce)

- 4 Points

Chicken Topping -1 PointPineapple Topping -1 PointCheese Sprinkles -1 PointFinished Slice +10 Points

Each Piece Counts Negative Until the Slice is 100% Done

Page 7: Learn Kanban - Agile Software Development Methodology

Round 1• Ad Hoc Work Environment – No Defined Workflow• Less Visibility of Work In Progress and Deliverables• Piling up of Unfinished Work• Generous Use of Resources / Inefficient Use of

Resources• High Lead Time• Problems are NOT found and tackled immediately.• Communication and feedback is NOT “rapid and

plenty”.

“A Watched Pot Never Boils”

Page 8: Learn Kanban - Agile Software Development Methodology

Retrospective – 6 Practices• Visualize The WorkFlow • Do You have WorkFlow? Make Station for Each Step

• Limit Work In Progress (WiP)• Where is the unfinished work pilingup?

• Manage The Flow• Look at the Lead Time – Calculate your points in every

round.• Implement Feedback Loops• Did you regulary reviewed your work & progress?

• Make Process Policies Explicit• Make it Easy and Defined – Assumption is the mother of

all ….. Problems• Improve Collaboratively • Lets Play Again !!

Page 9: Learn Kanban - Agile Software Development Methodology

Lets Play Again – Round 2

Page 10: Learn Kanban - Agile Software Development Methodology

From the game to a Real Kanban Board

Page 11: Learn Kanban - Agile Software Development Methodology

Kanban Board

Page 12: Learn Kanban - Agile Software Development Methodology

Toyota Introduced Kanban in 1940

Page 13: Learn Kanban - Agile Software Development Methodology
Page 14: Learn Kanban - Agile Software Development Methodology

Team Kanban Board

Page 15: Learn Kanban - Agile Software Development Methodology

Mura (斑 ) is a Japanese word meaning "unevenness; irregularity; lack of uniformity; non-uniformity; inequality"

• Unnecessary variations in product backlog. It generates stress and makes us less self-confident during estimations.

• Implement multiple, slightly different implementations for a same problem. We don’t need such variations. We should use “a same monkey” – a component

• Unevenness in Work Approach• Lack of Collaboration • Non-uniformity in Code – Code Reviews

Page 16: Learn Kanban - Agile Software Development Methodology

Q&A