Training - Introducing Agile, Lean and Kanban

47
AGILE / LEAN / KANBAN Sudipta Lahiri, Digité 1 06/06/2022

description

This is a presentation that I did for a team to introduce them to Agile, Lean and Kanban, It covers these these 3 areas, how they overlap and then gets into greater details about the Kanban Method.

Transcript of Training - Introducing Agile, Lean and Kanban

Page 1: Training - Introducing Agile, Lean and Kanban

AGILE / LEAN / KANBAN

Sudipta Lahiri, Digité

1

04/09/2023

Page 2: Training - Introducing Agile, Lean and Kanban

2

Let’s bust some myths first... Agile methods are NOT:

Sloppy Whatever-you-want-to-do No-questions-asked, no-managers or no-dates Compressing schedule Throwing out documentation Coding till the last minute

You can get temporary speed... but not sustainable

Speed needs much more discipline that otherwise! Think Formula One racing!

Agile teams need testers... with strong testing skills04/09/2023

Page 3: Training - Introducing Agile, Lean and Kanban

Many are doing it today… 3

04/09/2023

Page 4: Training - Introducing Agile, Lean and Kanban

Even the Government is doing it…

4

04/09/2023

Page 5: Training - Introducing Agile, Lean and Kanban

So, what is all this noise about?

5

04/09/2023

Page 6: Training - Introducing Agile, Lean and Kanban

The evolution of SDLC

1970s: Waterfall 1980s: SSAD

1985: CMMI 1990s

OOD/RAD

6

04/09/2023

Page 7: Training - Introducing Agile, Lean and Kanban

Changing Focus7

Building the product RIGHT

Are we building the RIGHT product?

04/09/2023

Page 8: Training - Introducing Agile, Lean and Kanban

8

Emergence of Agile

2001: Agile Manifesto individuals and interactions over processes

and tools Colocation/pair programming

Working software over comprehensive documentation Sprints: deliverable software

Customer collaboration over contract negotiation

Responding to change over following a plan Plan/Scope committed to the current Sprint

04/09/2023

Page 9: Training - Introducing Agile, Lean and Kanban

Agile and Lean9

04/09/2023

Page 10: Training - Introducing Agile, Lean and Kanban

10

Thinking progressed in 2 tracks...

XP SCRUM Lean Kanban SCRUMBAN Many others...

TDD + BDD Build Automation

=> Continuous Integration

Continuous Delivery

Continuous Deployment

Management Methods Engineering Methods

04/09/2023

Page 11: Training - Introducing Agile, Lean and Kanban

11

Lean applied to Software

What is a “Lean” system? A system in which we: Eliminate waste:

Focus on hand-offs, source of errors Amplify learning; create knowledge Defer commitment Deliver as fast as possible Respect people; Empower them Build quality in; optimize whole

Improvements can happen when you can see what is happening in the system => reduce waste

Focus on better economic outcome than better utilization of resources

Think of it as a pipeline... Anything, that slows things flowing out of the pipeline is a waste

04/09/2023

Page 12: Training - Introducing Agile, Lean and Kanban

A different balancing act...12

Traditional software

development

Scope

Time Cost(resources)

Scope

TimeCost

(resources)

Agile software development

(Target business goals &

outcomes)

04/09/2023

Page 13: Training - Introducing Agile, Lean and Kanban

SCRUM

Img Src: Scrum Primer by Pete Deemer

13

04/09/2023

Page 14: Training - Introducing Agile, Lean and Kanban

14

What is Kanban?

David Anderson formulated the method Kanban = kan ("visual") +

ban ("card" or "board")   Coined by Toyota during

the late 1940s and early 1950s and has spread to the manufacturing industry all over the world as a tool of Lean Manufacturing

Kanban: signal Used to support non-

centralized "pull" production control to gain visibility into the process and execution status, reduce waste (and costs), and help achieve JIT production

04/09/2023

Page 15: Training - Introducing Agile, Lean and Kanban

15

The Kanban Method:Core Practices Visualize the Work

Map your value stream Making invisible work, visible!

Limit Work in Process (WIP) Manage Flow; Establish a Cadence

Remove bottlenecks and improve the flow Increase throughput

Make Process Policies Explicit

------------------------------------------------------- Improve Collaboratively, Evolve Experimentally

(using models and scientific method) Implement Feedback Loops

Focus is on creating a

continuously improving

system; NOT on creating the most optimal system

04/09/2023

Page 16: Training - Introducing Agile, Lean and Kanban

A Board looks like this...16

04/09/2023

Page 17: Training - Introducing Agile, Lean and Kanban

Value Stream

Through metrics you can evaluate your efficiency. How much time spent on value add vs non value add

17

04/09/2023

Page 18: Training - Introducing Agile, Lean and Kanban

Why Pull? Why Kanban

We don’t want to: Build features that nobody needs right

now Write more specs than we can code Write more code than we can test Test more code than we can deploy

Work on Tickets/ Transactions that are not priority

18

04/09/2023

Page 19: Training - Introducing Agile, Lean and Kanban

Limiting Work-In-Progress (WIP) Reduces multi-tasking

Prevent context switching Performing tasks one-at-a-time yields

results sooner Maximizes throughput Enhances teamwork

Working together to make things done Increase cross-functionality

19

04/09/2023

Page 20: Training - Introducing Agile, Lean and Kanban

Making policies explicit

Policies are not evil Defining policies vs QMS A framework for common understanding across all team

members For example:

Process Flow Input Cadence; Output Cadence WIP Limits Definition of “Done” Entry and Exit Criteria (moving from one stage to another) Handling rework

Should the card be send back on the work board OR stay in the same lane till it is reworked?

Handling Class of Service How to handle Expedite cards?

20

04/09/2023

Page 21: Training - Introducing Agile, Lean and Kanban

Here’s what happens…

Courtesy: Henrik Kniber

21

04/09/2023

Page 22: Training - Introducing Agile, Lean and Kanban

22 04/09/2023

Page 23: Training - Introducing Agile, Lean and Kanban

23 04/09/2023

Page 24: Training - Introducing Agile, Lean and Kanban

24 04/09/2023

Page 25: Training - Introducing Agile, Lean and Kanban

25 04/09/2023

Page 26: Training - Introducing Agile, Lean and Kanban

26 04/09/2023

Page 27: Training - Introducing Agile, Lean and Kanban

27 04/09/2023

Page 28: Training - Introducing Agile, Lean and Kanban

28

How work happens today?

Project Managers do scope/work decomposition and assign tasks to people Typically, done in a very

deterministic manner We make a MS Project schedule;

gives a planned end date

Tasks start slipping Multiple reasons: some in control

of project team and some not...

Unscheduled tasks start coming in Some anticipated and some

unanticipated... Defects: you don’t know how many

will come and their flow New RFPs/CRs that need to be

estimated that may or may not ever fructify

Some visible to the Project manager and some not...

These get assigned to people who are already behind

Team members try to juggle between what is planned (and kept on schedule) + new arrivals! In most cases, people avoid re-

prioritization (you can’t do it for every incremental piece)

As a result: Planned tasks start slipping Quality drops because people

multi-tasking and context switching

Management asks questions but very difficult to justify and show the problem!

Teams works in a reactive mode (as opposed to a planned proactive manner)

Team feels there is no time to breathe... the pressure seems endless!

04/09/2023

Page 29: Training - Introducing Agile, Lean and Kanban

29

How a “Project Board” changes this?

Shows all work items, their current state of progress and the people who are on it Work items move forward as

they progress! Brings out many “hidden”

things that people are working on

Makes it obvious where work is getting piled up to everyone You will see this when we show

this in a fast simulation model Colors help you visualize the

pattern of work For e.g., are you doing more

value enhancement work or more rework?

Help collaborate between the project team: Everyone knows what others

are working on If someone needs help, they

can “block” without escalation/follow-up

If someone is overloaded, others in the team can respond

Provide for additional social tools to collaborate within project team Chat/Threaded Discussions

“What-if” simulation models Project Board is touch screen

enabled and available on mobile platforms

04/09/2023

Page 30: Training - Introducing Agile, Lean and Kanban

How a “Project Board” changes this?

Putting a limit on the work in process determines what really needs to be done

Creates a scorecard with just having a simple Kanban board You know how many get done!

The board keeps us accountable The person who owns the card

has to move it forward

Encourage teamwork as the tasks that are not being completed will focussed and worked on, together

30

04/09/2023

Page 31: Training - Introducing Agile, Lean and Kanban

31

Kanban – an evolutionary approach Kanban is an

adaptive capability for evolutionary change Not a process

definition or a framework to be tailored

04/09/2023

Page 32: Training - Introducing Agile, Lean and Kanban

Break ke baad...

04/09/2023

32

Page 33: Training - Introducing Agile, Lean and Kanban

The Daily Standup Meeting

33

04/09/2023

Page 34: Training - Introducing Agile, Lean and Kanban

The Challenges of Status Calls… People report to leader…

Leader summarizes the status update … and sometimes “massage” the status

update Often, there is chaos, no agenda, too

many people Louder personalities (few) dominate Many sit quiet in tacit acceptance

04/09/2023

34

Page 35: Training - Introducing Agile, Lean and Kanban

Rationale behind the Standup call Regularly communicating, working

together and helping each other is the best team practice

Gaining a shared understanding of what work is done and what remains to be done

04/09/2023

35

Page 36: Training - Introducing Agile, Lean and Kanban

Standup Call is the Team Huddle! We have all seen the “HUDDLE”… in

action

Why not in your teams?

04/09/2023

36

Page 37: Training - Introducing Agile, Lean and Kanban

This is what happens…

04/09/2023

37

Team Meeting to provide a Daily Status Update in 15 min Gather issues during the Standup Process issues after the Standup: take discussions offline

Each person tells their peers (not their manager) What they did yesterday and what they plan on doing today Where are they stuck or need help?

Think ahead your elevator pitch Use the Board; have a facilitator Same place; same time

Do not wait; do not repeat

Ideally, start the day with a Standup

Page 38: Training - Introducing Agile, Lean and Kanban

GIFTS (goals) of a Standup Call

G – Good Start to the day Give energy; instil a sense of

purpose/urgency Clear understanding what

needs to be done to achieve it No "false urgency“: where

people are geared up for activity but are without shared direction

BUT… if you cannot START the day, schedule it at the end of the day so that it is not linked to starting work in the day

I – Support Improvement Expose problems to allow us to

improve Share better techniques and

ideas

F – Reinforce Focus on the Right Things Focus on moving work through

the system to achieve our objectives

T – Reinforce the sense of Team Effective teams are built by

regularly communicating, working, and helping each other

Strongly tied with team members helping each other with shared obstacles

Effective teams are autonomous (self-organizing)

S – Communicate Status How is the work progressing? Is there anything else interesting

that the team should know?

04/09/2023

38

Page 39: Training - Introducing Agile, Lean and Kanban

39

Some more guidelines

Who Attends? “All Hands”

Replace some meetings/reports with Standup

“Stories” are the participants People are giving update

on behalf of the stories Reject any meeting that

risks that timeline Including your manager’s

or your customers They will appreciate your

commitment to the “Huddle”

Set your reminder 5 min ahead of start time

Speaking order: Round-robin… OR… The last person who

arrives speaks first Speak loudly; don’t

whisper… You have to energize!

End the meeting with a high note

Break eye contact with the manager

For larger teams May not be possible in 15

min Focus on Blocked Cards,

Expedite Cards Leave time for something

that someone feels important

04/09/2023

Page 40: Training - Introducing Agile, Lean and Kanban

40

Standup Call - Mistakes

Be cautious of few issues dominating the call Take them offline

Not Standing: Take out the chairs! Some people get into “story telling” Team members not showing up on time

Pick a time that everyone is OK with Get support from line managers Provide buffer between meetings

Allowing distractions Location, No mobiles/laptops Meeting etiquette

Not having a dedicated team room Not using Standup for distributed teams

04/09/2023

Page 41: Training - Introducing Agile, Lean and Kanban

Retrospective41

04/09/2023

Page 42: Training - Introducing Agile, Lean and Kanban

42

The Retrospective Template:For mid-size projects

Appreciations

Puzzles

Risks

Wishes

Actions

Let everyone write their own points on a post-it and stick it on the white board

What do they mean: Puzzles: Questions for which

you have no answer, represented by a question mark.

Risks: Future pitfalls that can endanger the project, represented by a bomb.

Appreciations: What you liked during the previous iteration, represented by a smiley face.

Wishes: Not improvements, but ideas of your ideal project, represented by a star.

04/09/2023

Page 43: Training - Introducing Agile, Lean and Kanban

43

Scope

What did we plan to do? What actually happened? Why? What would we do next time? What do we want to do more of, what do

we want to change or stop? (5 mins max)

04/09/2023

Page 44: Training - Introducing Agile, Lean and Kanban

44

The method

Nominate a facilitator Consider an outside

facilitator to eliminate inter-personal issues

Consider removing chairs => No more endless debates

Define ground rules. Consider: Be respectful ; Do not

interrupt Put away laptops and

phones Park long discussions in

the designated lot Recap what you hear to

ensure understanding What is said here stays

here

Avoid the product owner (unless you have a great one!) Tend to hijack the

discussion with “all problem with dev”

Collect data for 15 min Go round the group – what

have we done for the improvement actions we committed to last week? (2-3min per person)

Look at Cumulative Flow, Cycle Time and Lead Time – what issues do we see, what actions can we take? (5 mins max)

Collate your blockers

04/09/2023

Page 45: Training - Introducing Agile, Lean and Kanban

Break ke baad...

04/09/2023

45

Page 46: Training - Introducing Agile, Lean and Kanban

getKanban Game

Each team has a playing board representing a Kanban task board, and a collection of story cards representing work to be done.

Each card has a value associated to it and an estimated effort for each stage

Team earns as cards complete the Value Stream Teams compete to maximise net profit by optimizing the

flow of work All resources can do everything except when the system

specifically mentions a constraint System generates events and you have to keep re-planning

based on the same Lookout for Expedite or FixedDay cards; there is price for

missing deadlines When you pull cards, from the Backlog, new cards will

appear; notice for the value of the cards So, keep prioritizing and allocating card carefully! That is the

game...

04/09/2023

46

Page 47: Training - Introducing Agile, Lean and Kanban

47

04/09/2023