Agile and Lean
People often debate whether Agile and Lean are the same or different. Sometimes, people ask me which one is the best methodology for their business. This article presents some similarities and differences between the two methodologies.
Similarities in Agile and Lean
Some of the core similarities between Agile and Lean are listed as follows:
Lean development encourages to reduce the batch size and limit work-in-progress (WIP). Agile methodology, too, promotes prioritization of work items and incremental development of working software within short, time-boxed iterations.
Lean development is very focused on Kaizen or continuous improvement. Agile development also signifies the importance of the inspect and adapt activities such as product demo and retrospectives that promote continuous improvement.
Teamwork is one of the core values defined in Toyota Way 2001. Lean methodology encourages collaboration between team members. Agile development, too, has a strong focus on people interactions and collaboration with product stakeholders. The below two values stated in the Agile Manifesto reflect the same.
- Individuals and interactions over processes and tools
- Customer collaboration over contract negotiation
Moreover, the 4th Agile principle, ‘Business people and developers must work together daily throughout the project.’ is also focused on collaboration.
Lean is a customer-centric methodology that focuses to deliver the best quality and value in shortest sustainable lead time. Agile methodology is customer-centric as well. The 1st Agile principle, ‘Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.’ is customer-focused.
Both Agile and Lean methodologies encourage the Just-in-Time approach. One of the two pillars in the Toyota House of Lean is ‘Just-in-Time’ that encourages to produce only what is needed when it is needed, and in the quantities needed. Agile development, too, promotes ‘Just-in-Time’ planning, design, development, and documentation. Agile encourages teams to refine, design, and document only the prioritized work items. Agile concepts such as incremental development and emergent design reinforce the ‘Just-in-Time’ approach.
Though Lean is the major proponent for waste elimination, Agile methodology, too, supports this concept by delaying decisions until the last responsible moment (LRM). Thus, with LRM, possible rework, caused when working on an incorrect feature or an incorrect design, is minimized.
Differences in Agile and Lean
Let’s look at some of the core differences between Agile and Lean.
Lean management was originated in the manufacturing sector with the intention to reduce waste and improve the efficiency of the existing system, whereas Agile methodology was conceived by the software development thinkers to solve problems with the traditional software development approach.
Nature of work
Lean methodology is best suited to optimize simple, repetitive tasks that flow through different workflow states. On the contrary, Agile is best suited to build complex products that require research, experimentation, ability to adapt to change, and collaboration.
With Lean, the end goal is to deliver a high-quality product in shortest sustainable lead time in the most economical way while eliminating redundancies and waste. With Agile, the end goal is to deliver the maximum business value, respond quickly to the changing business needs, and develop incrementally in an iterative way.
Lean methodology is applied to improve processes in large enterprises and teams. Value stream mapping helps to visualize the end-to-end journey or steps required to deliver value to the customer. On the other hand, Agile is most effective when applied to small teams with a team size of 5-8 people.
Learn more on Agile and Lean with my short book, The Basics Of Agile and Lean