The primary intent of this presentation is to bring forward the similarities and differences between Lean and Agile software development paradigms at the root level, and how these can be leveraged in order to create complex software solutions.
eAuditor Audits & Inspections - conduct field inspections
Lean and Agile: The Eternal Siblings
1. Lean – Agile:
A presentation by
Vineet Patni
@patnivin
The eTernal SiblingS
1
2. This presentation was originally used for the talk
“Lean-Agile: The Eternal Siblings” at the Discuss
Agile Conference – Delhi (June 13-14, 2015).
2
3. About Me
Lifetime Learner and passionate about facilitating learning
Over twelve and half years of experience in the IT services and products industries
Over 6 years’ experience in program management and leadership roles
Exposure to large scale implementation of IT solutions for clients across geographies (the USA, Europe, Asia)
Wide Project Management and hands-on Agile experience in end-to-end implementations of critical programs
Training experience in Agile (PMI-ACP), Scaled Agile Framework (SAFe) Scrum and Project Management
Agile Coaching, mentoring and training / Enterprise Agile implementation experience
Major Accreditations:
PMP® (Project Management Professional)
PMI Agile Certified Practitioner (PMI-ACP)®
SPC (SAFe® Program Consultant)
CSP® (Certified Scrum Professional)
PMI Professional in Business Analysis (PMI-PBA)®
Lean Management Certification
CSM® (Certified ScrumMaster)
CSPO® (Certified Scrum Product Owner)
VINEET PATNI, PMP®, PMI-ACP®, SPC, CSP®, CSM®, CSPO®
Trainer, Consultant & Practitioner in Agile, Lean and Project Management
https://www.linkedin.com/profile/view?id=119517180
vineet.patni@gmail.com
3
4. “We are thinking of using
agile, but should we use
Lean instead?”
4
22. principles
Both paradigms are built on the same set of principles.Both paradigms are built on the same set of principles.
22
23. principles
Both paradigms are built on the same set of principles.Both paradigms are built on the same set of principles.
23
24. principles
Both paradigms are built on “ALMOST” the same set of principles.Both paradigms are built on “ALMOST” the same set of principles.
24
25. Build the right product
through frequent
demo and feedback.
Build the right product
through frequent
demo and feedback.
Focus on value-
adding activities.
Focus on value-
adding activities.
Continuous delivery of
working software
Continuous delivery of
working software
Rapid value creation
and short cycle times
Rapid value creation
and short cycle times
Both Lean and Agile quest for similar goals, have similar intent.Both Lean and Agile quest for similar goals, have similar intent.
GoalGoal
25
26. Self-organized teams,
leaders are facilitators
Self-organized teams,
leaders are facilitators
Leaders are the
foundation, only they
can change the
system
Leaders are the
foundation, only they
can change the
system
Small teams, isolated
to become high
performing
Small teams, isolated
to become high
performing
See the whole,
optimize entire Value
Stream
See the whole,
optimize entire Value
Stream
Few differences between Lean and Agile, but these aren't really a problem!Few differences between Lean and Agile, but these aren't really a problem!
Difference
s
26
29. www.agilemanifesto.org (AM2001)
“Lean Software Development: A Tutorial” – Mary Poppendieck and Michael
Cusumano (CusPop2012)
"Lean Software Development: An Agile Toolkit" - Mary Poppendieck and Tom
Poppendieck (Popp2003)
LinkedIn discussion thread “Is Lean = Agile?”: (Linkedin2015)
LinkedIn post: Lean - Agile: The Eternal Siblings
References and Credits
29
Thanks to my friends Mr. Bhuvan Misra and Mr. Tushar Paunikar for providing inputs
and feedback from time to time.
31. practice
s
Frequent Deliveries
Working Software
Deliver as fast as
possible
Build Quality In
Incremental Delivery
Welcome Change
Customer Satisfaction
Amplify Learning
Eliminate Waste
Short Iterations
31
33. practice
s
Technical Excellence Build Quality In
Amplify Learning
Pair Programming
Technical Excellence
Working Software
Eliminate Waste
Test Driven Development
33
34. practice
s
Customer
Satisfaction
See the whole
Value Stream Mapping
Welcome Change
Customer Satisfaction
Defer Commitment
Eliminate Waste
Kanban Pull System
34
36. practice
s
Working Software
Technical Excellence
Eliminate Waste
Build Quality In
Continuous Integration
Simplicity Amplify Learning
Build Quality In
Refactoring
36
37. practice
s
Work Together Daily Amplify Learning
Cross-functional Teams
Continuous
Reflection
Eliminate Waste
Daily Stand-up
Popular practices of Lean and Agile follow principles of both the paradigms.Popular practices of Lean and Agile follow principles of both the paradigms. 37
This is a question many of us would have faced, and which I HAVE run into a few times recently.
It's not a question I can answer quickly, and easily. It’s pretty damn tough for me to answer.
… as the question is based on a false premise about the relationship between lean and agile.
The relationship … of similarity or difference ?
The first thoughts which come to my mind is .. “Are we comparing apples to apples, or apples to oranges?”
Are these two paradigms same or different?
---------------
To answer the question this question, first we need to be cognizant of the foundation of these two, where do these two paradigms come from.
So first, let’s go into some history or origin of these two paradigms…
Agile software development is an umbrella term for several software development methods (including Extreme Programming and Scrum) that were developed in the 1990s.
These methods share a common philosophy which was described as values and principles in the Manifesto for Agile Software Development.
"Lean" fundamentally refers to an approach in the manufacturing world that was originally developed by Toyota in the 1950's.
This approach, often called the “Toyota Production System” is mostly credited toTaiichi Ohno, although he was particularly influenced by Deming.
The Toyota Production System became well known in the rest of the world in the 1990's when westerners started writing books on the success stories of the Japanese manufacturing industries.
Origin of the term “LEAN”:
The term “Lean Manufacturnig” was conceptualized by James Womack and Daniel Jones in their books - namely The Machine That Changed the World, Lean Thinking and Lean Solutions. Through these books, a structured approach to becoming Lean came up.
The book ‘The machine that changed the World’ that has become one of the most widely cited references in operations management and manufacturing.
Some similarities between “Lean Manufacturing” and software development were becoming apparent by the mid-1990s. For example, in the publication Microsoft Secrets, the authors Michael and Richard noted a similarity in the philosophy behind Microsoft’s daily builds, where engineers had to stop and fix bugs on a daily basis, and Toyota’s JIT (Just-in-Time) production philosophy, where workers stopped assembly lines whenever they detected problems to fix them immediately. Although this book did not use the term “lean” for software development.
There was a connection between lean manufacturing and agile software from the beginning in that many of the developers of the various agile methods were influenced by the ideas of lean manufacturing. This connection was made more explicit by Mary and Tom Poppendieck in the book, Lean Software Development. When we talk about Lean Software Development, we usually refer to the ideas in these books, although others have been making similar links.
For the scope of this talk, Agile = “Agile Software Development” and Lean = “Lean Software development”.
We look at the some aspects of these two software development paradigms.
To begin with, let’s go to the basics.
Let’s explore how the “fundamental values, principles and goals” of these two paradigms compare with each other.
How similar or different they are at the foundation level?
These are the core principles of Agile and Lean.
The Agile Manifesto principles share a lot of “common-ness” or overlap with those of the Lean Software Development.
Let’s go one-by-one and look at how Agile principles resemble the principles of Lean.
Similarity amongst the Agile and Lean principles.
All principles of Agile have commonality with the principles of Lean Software Development.
Lean is more unique from systems view perspective. This is the uniqueness in Lean.
SO we can say that the both these paradigms are based on .. Well, ALMOST the same set of guiding principles.
What is the intent of lean thinking and Agile? Is it really different? Both are trying to challenge the status quo and improve the system.
Both have the focus on the customer satisfaction and value creation. In the case of agile the customers are in focus as they should regularly receive working software. For this, Lean adds the notion of value (value-adding and non-value adding activities). Activities which customer pays for, which adds value to customer
Both development paradigms also share the goal of having frequent and rapid deliveries to the customer. “Deliver frequently in short iterations, Deliver fast”.
Lean manufacturing and agile software methods have a very similar philosophy. Both place a lot of stress on adaptive planning and a people focused approach.
As a result, lean's ideas fit in very well with the agile software story.
Having seen the similarity between the principles of the two development paradigms, let me also bring forward some of the differences between the two.
First, on the role of the Manager in "Lean", who is expected to be an expert in the process and to guide the people enacting the process in their learning so a new generation of Managers is created. “Agile” on the other hand favors self-organized teams more rather than having team managers. Teams manage themselves. While Lean is more about "leaders who can change the system", Agile is more about "self-organizing teams".
The second difference is from the Systems Thinking point of view. "Lean" asks us to consider the whole end-to-end process (entire Value Stream) as a whole, so that local optimizations don't make things worse elsewhere; so that we are all pulling toward the same goals. In contrast, the favorite flavor of Agile deliberately isolates the development team from the rest of the organization so as to make them super high performing.
“While Lean is more about removing waste from the system and improves overall "process efficiency", Agile is more about "product correctness and acceptance".
Also, while Lean is more about "reducing variability in production system", Agile is more about "exploiting variability in product development".
I thought of them as more close to each other. Hence I called them the ETERNAL SIBLINGS.
1. Development practices (Appendix ‘A’) earlier popularized in either of the two development paradigms, are used interchangeably in both – the very reason being that the practices are based on similar principles.
2. Both Agile and Lean have a focus on continuous improvement (Inspect and Adapt, Kaizen) and visual management (Kanban).
3. Lean isn't agile, agile implementations often aren't lean, and neither is sufficient to warrant success. Hence the saying, "There is no silver bullet" when it comes to agility. Same applies to Lean as well.
They have synergy but are not identical. It’s best to leverage both these paradigms and be “Lean-Agile”.
Consider both as a source of great ideas from which to select appropriately for your specific context.
Lean provides techniques for identifying waste. “Value stream mapping”
Lean principles provide a philosophical foundation for scaling agile approaches. Agile implementation can’t be scaled without heavy reliance on the lean principles and practices. In such scenario, the Lean principle “See the whole” comes in handy.
It is this uniqueness in Lean that makes it highly relevant and being applied in scaling agile context more. E.g. Both SAFe and LeSS frameworks are based on Lean principles.