If you’ve ever attended one of our classes, you’ll know that Braintrust does not focus on the “methodologies” of Agile (such as Scrum, Kanban, etc.), particularly as they apply to software development.
Instead, our approach is much broader, wherein we teach leaders in any industry how to apply the principles and tenets of Agile to their leadership thinking/style, in order to become happier, more successful leaders.
However, since I am often asked “Are Lean and Agile the same thing?” I thought I’d take a 30,000-foot stab at answering that complicated question.
“Lean” and “Agile” are terms that are often used in reference to software development methodologies, project management, or organizational style, but is it important to differentiate between them?
Merriam-Webster Dictionary defines Agile as “having quick resourceful and adaptable character, or marked by ready ability to move with quick easy grace.” Lean is defined as “thin and healthy, or containing little or no fat.” Based on these definitions, we can assume that someone who is lean and someone who is agile would have many shared characteristics. The same is true in the context of project management, organizational style, or more importantly, leadership style.
So What is Agile? And What is Lean?
Agile is widely known in the technology world as a set of values and principles designed to guide the development of software. And to that end, “The Agile Manifesto” lays out a set of four values and 12 principles. Distilled to its core, Agile is exactly what it sounds like: It’s Agile. It favors flexibility, communication, collaboration, and simplicity.
Lean is less understood and lacks a clear-cut definition supported by a professional consensus. But what we do know is that the term “Lean” was originally coined to describe a manufacturing organizational model (based on the Toyota Production System), but is now commonly considered in the IT world to be a sub-framework within the Agile umbrella of software development.
The Birth and Timeline of Lean and Agile
So let’s go back a bit in order to gain some context. The term “Lean” was first used by Dr. James Womack et. al. in 1990 to describe the Toyota Production System in their book, The Machine That Changed The World. It wasn’t until Dr. Robert Charette later adapted those Lean ideas (originally limited to manufacturing), to create his “Lean Software Development” approach. Finally, the term Agile was not widely adopted until the publishing of “The Agile Manifesto” in 2001. Regardless, the terms Agile and Lean were both coined by western technology professionals/academics with intentional references to the Toyota Production System.
Also important to note is that both Lean Software Development and Agile were developed in response to the perceived shortcomings of existing “plan-driven” methods like Waterfall (which had been used since the 1970s). By the 1990s, as markets became more dynamic and consumers more tech-savvy, developers and software engineers began to notice that Waterfall was unable to respond quickly enough to market demands, changing technology, or deliver bug-free software on a consistent basis. Thus…in pursuit of a better model, the creators of Lean and Agile sought to develop methodologies with a more customer-focused approach. BOTH new methodologies embraced the ability to adapt as a competitive advantage, favored early and continued testing, and brought a human element into project management and execution.
So with this historical perspective in mind, what should be very clear is that they both terms stem from the same principles.
Lean vs. Agile Principles
If you take the time to compare the principles of Dr. Charette’s Lean Software Development and the principles of Agile, the similarities are inscrutable. Doing so principle by principle is beyond the scope of this blog, but just by looking at the main principles of each, any Agilest (or Lean-est) will immediately recognize the similarities.
The 7 principles of Lean Software Development:
- Eliminating Waste
- Amplifying Learning
- Deciding as Late as Possible
- Delivering as Fast as Possible
- Empowering the Team
- Building Integrity In
- Seeing the Whole
The 12 principles of Agile Software Development are:
- Customer satisfaction through early and continuous software delivery
- Accommodate changing requirements throughout the development process
- Frequent delivery of working software
- Collaboration between the business stakeholders and developers throughout the project
- Support, trust and motivate the people involved
- Enable face-to-face interactions
- Working software is the primary measure of progress
- Agile processes to support a consistent development pace
- Attention to technical detail and design enhances agility
- Self-organizing teams encourage great architectures, requirements, and designs
- Regular reflections on how to become more effective
Moreover, if it’s not entirely self-evident at first glance, step back and you’ll see that Lean and Agile also have the following core values in common:
- The value of responding to customer needs quickly
- Early testing
- An iterative approach to development
- Intense cooperation both within the company and with outside stakeholders
Divergence in Application
Let’s take a quick second to appease the folks who thrive on “technicality.” There are inarguably multiple examples of where Lean and Agile “methodologies” differ. For example, unlike Agile Kanban Boards, (which use fixed duration iteration cycles to limit the time of development to govern their Kanban boards), Lean Kanban Boards limit the number of tasks allowed at any given time. The latter allows Lean Kanbans to fulfill Lean’s driving goal of limiting WIP (work in process), while more explicitly measuring lead-time, and identifying waste in production.
As a result, once a task is completed, a new task can be pulled from a Lean Kanban’s prioritized list (and in this way utilizes the concept of “continuous flow”). On the other hand, Agile Kanban Boards begin each new iteration with a fresh board.
One of the primary authors of “The Agile Manifesto,” (Martin Fowler), clearly implies that Lean and Agile are not mutually exclusive. He states “Lean and Agile are deeply intertwined. You can’t really talk about them being alternatives…. you don’t do Agile OR Lean, you do Agile AND Lean”.
In the end, whether your teams take a so-called “Agile” approach or a “Lean” approach is immaterial, since the two approaches share the same DNA. Moreover, the goal is to take software development out of the equation altogether, and we don’t want our leaders to “do” Agile OR to “do” Lean. We want our Agile Leaders to THINK with an Agile (or Lean if you prefer) BRAIN.
Ideally, we want you all to “BE” Agile and to “BE” Lean. And that means living and breathing the 4 CORE VALUES of both:
- Individuals and interactions over processes and tools
- Working product over comprehensive/unnecessary documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan