agile,lean, and kanban – friends or foes

88
2013 Michael Mahlberg Slide # Agile, Lean, And Kanban – Friends Or Foes? Michael Mahlberg – Agile BI Conference 2013 1

Upload: michael-mahlberg

Post on 15-Jan-2015

3.911 views

Category:

Business


5 download

DESCRIPTION

More and more new words come up in the context of Agile, now that Agile itself has "crossed the chasm" and is accepted as the de-facto standard of software development. But even though a lot of these new terms fit under the Agile umbrella as defined in the "Agile Manifesto" it is sometimes hard to get to the bottom of these concepts. This presentation does exactly that - it goes to the bottom of Agile, Lean and Kanban. Without much ado we'll revisit the fundamental ideas behind Agile and then investigate Lean and the Kanban Method in comparison. Not only will you get introduced more closely to Kanbans, WIP-Limits and the pull principle, but I'll also share my experience how the different approaches fit together and complement each other in various settings.

TRANSCRIPT

Page 7: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

DRYContinuous integration

COMPLEMENTARY TECHNIQUES

���7

Constant Customer Collaboration

Little Documentation

Pair Programming

Little Requirement Specification

Unmaintainable Product

Ambiguous Specification

System metaphorTDD

Refactoring

Many others

Page 9: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

PRINCIPLES BEHIND THE AGILE MANIFESTO

- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

- Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

- Business people and developers must work together daily throughout the project.

- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

- Working software is the primary measure of progress.

- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

- Continuous attention to technical excellence and good design enhances agility.

- Simplicity--the art of maximizing the amount of work not done--is essential.

- The best architectures, requirements, and designs emerge from self-organizing teams.

- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

���9

Page 10: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

PRINCIPLES BEHIND THE AGILE MANIFESTO

- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

- Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

- Business people and developers must work together daily throughout the project.

- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

- Working software is the primary measure of progress.

- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

- Continuous attention to technical excellence and good design enhances agility.

- Simplicity--the art of maximizing the amount of work not done--is essential.

- The best architectures, requirements, and designs emerge from self-organizing teams.

- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

���10

Working Software/ Happy CustomerChange is Good

Deliver Often

Involvement

Capable Team

Face-to-Face

Working Software (again)

Sustainable Pace

Technical ExcellenceSimplicity & Work not Done

Self-Organization

Improve regularly

Page 19: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

AGILE SOFTWARE DEVELOPMENT PRINCIPLES

Working Software / Happy Customer (as driver)

Change is Good

Deliver Often

Involvement

Capable Teams

Face to Face

Working Software (as a measure of progress)

Sustainable Pace

Technical Excellence

Simplicity & Work not Done

Self-Organization

Improve regularly

���19

Page 20: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

AGILE SOFTWARE DEVELOPMENT PRINCIPLES

Working Software / Happy Customer (as driver)

Change is Good

Deliver Often

Involvement

Capable Teams

Face to Face

Working Software (as a measure of progress)

Sustainable Pace

Technical Excellence

Simplicity & Work not Done

Self-Organization

Improve regularly

���20

Page 22: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

LEAN AND AGILE

���22

Lean principles Agile principles

Eliminate waste Working Software, Customer Satisfaction, Sustainable pace

Amplify learning

Decide as late as possible Change is Good

Deliver as fast as possible Deliver Often

Empower the team Capable Teams, Involvement

Build integrity in

See the whole

Face-to-Face

Page 23: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

AGILE SOFTWARE DEVELOPMENT PRINCIPLES

Working Software / Happy Customer (as driver)

Change is Good

Deliver Often

Involvement

Capable Teams

Face to Face

Working Software (as a measure of progress)

Sustainable Pace

Technical Excellence

Simplicity & Work not Done

Self-Organization

Improve regularly

���23

Page 24: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

LEAN AND AGILE

���24

Lean principles Agile principles

Eliminate waste Working Software, Customer Satisfaction, Sustainable pace, Simplicity & Work not Done,

Amplify learning Improve regularly

Decide as late as possible Change is Good

Deliver as fast as possible Deliver Often

Empower the team Capable Teams, Involvement, Self-organization

Build integrity in Technical Excellence

See the whole

Face-to-Face

Page 29: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

VALUE STREAM

���29

working

idling

addi

ng

value

idea (20 min)

wait for discussion (2 weeks)

elaboration (1h)

wait for approval (1 week)

acceptance (10min)

wait for iteration (1 week)

wait for iteration (1 week)

Wait for QA (1 week)

Wait for Deployment

(1 week)

QA (2 hours)

Deployment (2 hours)Implementation

(2 Weeks’)

Page 30: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

QUICK CALCULATION

���30

Iteration length = 2 Weeks (10 days)

=> Average feature size = 4 hoursFeatures in iteration = 20

Split Analysis vs. design vs. implementation ~ 1 / 1 / 1

analyze a feature = 80 mindesign a feature = 80 min

implement a feature = 80 min

Page 31: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

VALUE STREAM

���31

working

idling

addi

ng

value

idea (20 min)

wait for discussion (2 weeks)

elaboration (1h)

wait for approval (1 week)

acceptance (10min)

wait for iteration (1 week)

wait for iteration (1 week)

Wait for QA (1 week)

Wait for Deployment

(1 week)

QA (2 hours)

Deployment (2 hours)

Analysis (80’)

Design (80’)

Impl (80’)

Wait in imp. (~1 week)

Wait in imp. (~1 week)

Page 32: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

VALUE STREAM

���32

addi

ng

value

idea (20 min)

wait for discussion (2 weeks)

elaboration (1h)

wait for approval (1 week)

acceptance (10min)

wait for iteration (1 week)

wait for iteration (1 week)

Wait for QA (1 week)

Wait for Deployment

(1 week)

QA (2 hours)

Deployment (2 hours)

Analysis (80’)

Design (80’)

Impl (80’)

Wait in imp. (~1 week)

Wait in imp. (~1 week)

work (min)idle (min)

20 + 60 + 10 + 80 + 80 + 80 + 120 + 120 ≈ 570 min4800+2400+2400+2280+2280+2400+2400 ≈ 18960 min

work (h)idle (h)

570 min = 9:30 h18960 min = 316 h

work (d)idle (d)

9:30h ≈ 1.2 days316h ≈ 39.5 days

Page 34: Agile,lean, and kanban – friends or foes

© 2013 Tom Breur / Michael Mahlberg Slide #

LITTLE’S LAWWork in progress

ThroughputAverage wait time in the system (per item)

L =λ w

���34

Page 35: Agile,lean, and kanban – friends or foes

© 2013 Tom Breur / Michael Mahlberg Slide #

LITTLE’S LAWWork in progress

ThroughputAverage wait time in the system (per item)

40 = 10 hours

���35

1/15min

Page 61: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

Pull

Pull

Pull

Pull

Pull

Pull

Pull

Pull

Pull

Pull

Pull

Pull

���61

Requirement Analysis Development Test / QA Production(∞) (4) (3) (3) (∞)

item item item

item item

item ✓

item ✓

item ✓item ✓

item ✓item ✓

Page 62: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

Pull

Pull

Pull

Pull

Pull

Pull

Pull

Pull

Pull

Pull

Pull

Pull

���62

Requirement Analysis Development Test / QA Production(∞) (4) (3) (3) (∞)

item

item item

item

item

item ✓item ✓

item ✓item ✓

item ✓item ✓

Page 65: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg ���65

Requirement Analysis Development Test / QA Production(∞) (4) (3) (3) (∞)

item item item itemitem

item item

item

item item

item

SIDENOTE: MORE EXPLICIT PROCESS

doing doing doingdone done done

223

Page 66: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg ���66

Requirement Analysis Development Test / QA Production(∞) (4) (3) (3) (∞)

item

item item item

itemitem

item

item

item itemitem

SIDENOTE: MORE EXPLICIT PROCESS

doing doing doingdone done done

3 22

Page 70: Agile,lean, and kanban – friends or foes

© 2013 Tom Breur / Michael Mahlberg Slide #

LITTLE’S LAWWork in progress

ThroughputAverage wait time in the system (per item)

L =λ w

���70

Page 71: Agile,lean, and kanban – friends or foes

© 2013 Tom Breur / Michael Mahlberg Slide #

LITTLE’S LAWWork in progress

ThroughputAverage wait time in the system (per item)

∞ =λ w

���71

∞ *

Page 82: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

MIXED PYRAMID

���82

Software - Kanban

Techniques

Process

Process Improvement

eXtreme Programming (XP)

Techniques

Process

Process Improvement

Scrum

Techniques

Process

Process Improvement

Source http://shu-ha-ri.michaelmahlberg.de/2012/07/die-pyramide-der-agilitaet.html

Page 83: Agile,lean, and kanban – friends or foes

Slide #2013 Michael Mahlberg

MIXED PYRAMID

���83

Software - Kanban

Techniques

Process

Process Improvement

eXtreme Programming (XP)

Techniques

Process

Process Improvement

Scrum

Techniques

Process

Process Improvement

Your individual combination

Process Improvement

Techniques

Process

Source http://shu-ha-ri.michaelmahlberg.de/2012/07/die-pyramide-der-agilitaet.html