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.
1. Agile, Lean, And Kanban –
Friends Or Foes?
Michael Mahlberg – Agile BI Conference 2013
2013 Michael Mahlberg
Slide # 1
2. IS THIS REALLY TRUE?
Agile make a team fast and good
(fact or fiction?)
Lean makes an organization more
cost effective
(fact or fiction?)
!
(from a poll @ agile cologne, 2013-11-22)
2013 Michael Mahlberg
Slide # 2
9. 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.
2013 Michael Mahlberg
-
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.
Slide # 9
10. PRINCIPLES BEHIND THE AGILE
MANIFESTO
-
Working Software/
Happy Customer
Welcome changing requirements, even late in
Change is Good
development. Agile processes harness change
-
Agile processes promote sustainable
development. The sponsors, developers, and
users should be able to maintain a constant
pace indefinitely.
Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
-
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.
Our highest priority is to satisfy the customer
through early and continuous delivery of
valuable software.
for the customer's competitive advantage.
-
Deliver Often
Involvement
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.
Capable Team
The most efficient and effective method of
conveying information to and within a
development team is face-to-face
conversation.
Face-to-Face
2013 Michael Mahlberg
Working software is the primary measure of
progress.
Working Software (again)
Sustainable Pace
Technical Excellence
Simplicity Work not Done
Self-Organization
Improve regularly
Slide # 10
13. WHY?
• Agile
• in
works best:
small teams with
• constant
• face
customer collaboration and
to face communication
(at least ‘The Manifesto’ says so)
2013 Michael Mahlberg
Slide # 13
14. WHY?
There is more to successful
Projects that writing Software
2013 Michael Mahlberg
Slide # 14
16. A LEAN LOOK ON FEATURE FLOW
2013 Michael Mahlberg
Slide # 16
17. WHAT IS LEAN?
The way Mary and Tom Poppendiek put the book together
2013 Michael Mahlberg
Slide # 17
18. LEAN SOFTWARE DEVELOPMENT
PRINCIPLES
Eliminate waste
Amplify learning
Decide as late as possible
Deliver as fast as possible
Empower the team
Build integrity in
See the whole
2013 Michael Mahlberg
Slide # 18
19. AGILE SOFTWARE DEVELOPMENT
PRINCIPLES
Working Software / Happy
Customer (as driver)
Change is Good
Deliver Often
Involvement
Sustainable Pace
Technical Excellence
Simplicity Work not Done
Self-Organization
Improve regularly
Capable Teams
Face to Face
Working Software (as a
measure of progress)
2013 Michael Mahlberg
Slide # 19
20. AGILE SOFTWARE DEVELOPMENT
PRINCIPLES
Working Software / Happy
Customer (as driver)
Change is Good
Deliver Often
Involvement
Sustainable Pace
Technical Excellence
Simplicity Work not Done
Self-Organization
Improve regularly
Capable Teams
Face to Face
Working Software (as a
measure of progress)
2013 Michael Mahlberg
Slide # 20
21. WASTE?
Muda 無駄
useless, not adding value
Muri 無理
overburdening
Mura 斑
unevenness, inequality
2013 Michael Mahlberg
Slide # 21
22. LEAN AND AGILE
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
2013 Michael Mahlberg
Slide # 22
23. AGILE SOFTWARE DEVELOPMENT
PRINCIPLES
Working Software / Happy
Customer (as driver)
Change is Good
Deliver Often
Involvement
Sustainable Pace
Technical Excellence
Simplicity Work not Done
Self-Organization
Improve regularly
Capable Teams
Face to Face
Working Software (as a
measure of progress)
2013 Michael Mahlberg
Slide # 23
24. LEAN AND AGILE
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
Build integrity in
Capable Teams, Involvement, Self-organization
Technical Excellence
See the whole
Face-to-Face
2013 Michael Mahlberg
Slide # 24
29. working
elaboration (1h)
acceptance (10min)
Implementation
(2 Weeks’)
QA
(2 hours)
Deployment
(2 hours)
adding
value
idea (20 min)
VALUE STREAM
wait for discussion
(2 weeks)
wait for approval
(1 week)
wait for iteration
wait for iteration
(1 week)
(1 week)
Wait for QA
(1 week)
Wait for
Deployment
(1 week)
idling
2013 Michael Mahlberg
Slide # 29
30. QUICK CALCULATION
Iteration length = 2 Weeks (10 days)
Features in iteration = 20
= Average feature size = 4 ho urs
s vs. design vs. implementation
Split Analysi
~1/1/1
analyze a feature = 80 min
design a feature = 80 min
implement a feature = 80 min
2013 Michael Mahlberg
Slide # 30
31. working
elaboration (1h)
acceptance (10min)
Analysis
(80’)
Impl
(80’)
Design
(80’)
QA
(2 hours)
Deployment
(2 hours)
adding
value
idea (20 min)
VALUE STREAM
wait for discussion
(2 weeks)
wait for approval
(1 week)
wait for iteration
wait for iteration
(1 week)
(1 week)
Wait in imp.
(~1 week)
Wait in imp.
(~1 week)
Wait for QA
(1 week)
Wait for
Deployment
(1 week)
idling
2013 Michael Mahlberg
Slide # 31
32. VALUE STREAM
acceptance (10min)
Analysis
(80’)
Impl
(80’)
Design
(80’)
QA
(2 hours)
Deployment
(2 hours)
adding
value
idea (20 min)
elaboration (1h)
wait for discussion
(2 weeks)
work (min)
idle (min)
work (h)
idle (h)
wait for approval
(1 week)
wait for iteration
(1 week)
Wait in imp.
(~1 week)
Wait in imp.
(~1 week)
Wait for QA
(1 week)
Wait for
Deployment
(1 week)
20 + 60 + 10 + 80 + 80 + 80 + 120 + 120 ≈
570 min
4800+2400+2400+2280+2280+2400+2400 ≈ 18960 min
570 min =
9:30 h
18960 min = 316 h
2013 Michael Mahlberg
work (d)
idle (d)
9:30h ≈ 1.2 days
316h ≈ 39.5 days
Slide # 32
40. SOFTWARE-KANBAN PRINCIPLES
Start with what you do now
Agree to pursue incremental, evolutionary
change
Respect the current process, roles,
responsibilities titles
2013 Michael Mahlberg
Slide # 40
72. SIDENOTE: LITTLE’S LAW
Requirement
(∞)
Analysis
3 (4)
Development
Test / QA
Production
(3)
(3)
(∞)
doing done
item
item
item
item
item
item
item
item
item
2013 Michael Mahlberg
doing
done
doing
done
item
item
Slide # 72
73. SIDENOTE: LITTLE’S LAW
Requirement
(∞)
Analysis
3 (4)
Development
Test / QA
Production
(3)
(3)
(∞)
doing done
item
item
item
item
item
item
item
item
item
2013 Michael Mahlberg
doing
done
doing
done
item
item
Slide # 73
74. VISUALIZATION CAN DIFFER
Requirement
(∞)
Analysis
3 (4)
Development
Test / QA
Production
(3)
(3)
(∞)
doing done
item
item
item
item
item
item
item
item
item
2013 Michael Mahlberg
doing
done
doing
done
item
item
Slide # 74
75. VISUALIZATION CAN DIFFER
Picture: Thomas Schuermann, Limited WIP Society,
http://limitedwipsociety.ning.com/photo/formula-kanban?context=featured#!/photo/formula-kanban?context=featured
2013 Michael Mahlberg
Slide # 75
76. VISUALIZATION CAN DIFFER
Picture: Karl Scotland, AvailAgility
http://availagility.co.uk/2010/09/30/exploring-the-kanban-multiverse-at-agile2010/#jp-carousel-693
2013 Michael Mahlberg
Slide # 76
77. VISUALIZATION CAN DIFFER
Picture: Karl Scotland, AvailAgility
http://availagility.co.uk/2010/09/30/exploring-the-kanban-multiverse-at-agile2010/#jp-carousel-693
2013 Michael Mahlberg
Slide # 77
78. HOW TO SORT THIS OUT?
2013 Michael Mahlberg
Slide # 78
79. KANBAN IN THE PYRAMID
Process Improvement
Process
Techniques
Software - Kanban
2013 Michael Mahlberg
Slide # 79
80. SCRUM IN THE PYRAMID
Process Improvement
Process
Techniques
Scrum
2013 Michael Mahlberg
Slide # 80
81. XP IN THE PYRAMID
Process Improvement
Process
Techniques
eXtreme Programming (XP)
2013 Michael Mahlberg
Slide # 81
82. MIXED PYRAMID
Process Improvement
Process Improvement
Process
Process
Techniques
Software - Kanban
Techniques
Scrum
Process Improvement
Process
Techniques
eXtreme Programming (XP)
Source http://shu-ha-ri.michaelmahlberg.de/2012/07/die-pyramide-der-agilitaet.html
2013 Michael Mahlberg
Slide # 82
83. MIXED PYRAMID
Process Improvement
Process Improvement
Process
Process
Techniques
Techniques
eXtreme Programming (XP)
Your individual combination
Software - Kanban
Scrum
Source http://shu-ha-ri.michaelmahlberg.de/2012/07/die-pyramide-der-agilitaet.html
2013 Michael Mahlberg
Slide # 83
88. CONTACT INFORMATION
• If
you have questions, don’t hesitate to contact me via e-mail
at: mm@michaelmahlberg.com
• You
•I
can also find me on Twitter as MMahlberg
sometimes blog on http://agile-aspects.michaelmahlberg.com
• My
homepage is http://www.michaelmahlberg.de
2013 Michael Mahlberg
Slide # 88