The difference between Lean Startup, Lean and Agile explained
A dummies guide
So many methodologies, so little time.
Scrum. Agile. Lean. Lean Startup.
Which one is best for you? What is the difference? What are the similarities?
These are some of the questions I see flying around the internet, trying to make sense of the nuances between all these different methodologies, or rather systems.
Confusing. To say the least.
This post is an attempt to put all the pieces of the puzzles together in a summarized version of my interpretation of the different methodologies to help you decide which one is most suited to you.
So let’s jump right in. Hope you like gardening! As this is the best metaphor I could think of to explain how I see it.
Below is an image of the evolution of a tree from seed to flourishing tree to demonstrate when each methodology might be most useful, followed by a bit more details on the specific similarities and differences.
From seed to seedling — the Lean Startup
All trees starts off as little seeds hidden under the ground where no-one can see them.
There is the potential to become something big and beautiful, but it’s just a little seed. Google was once a big dream of making information accessible to everyone. Apple was the dream of ground-breaking technology innovation. AirBnB was the dream of capitalizing on wasted space.
That’s when the Lean Startup is the most useful to look at. It’s designed for entrepreneurs (may it be a founder of a new business or merely a department within a bigger organization responsible for R&D) with the focus of nurturing an idea so that it becomes a thing. A thing someone wants and is willing to pay for, also called a Minimal Viable Product. Something that might attract investors to become something bigger.
From seedling to tree — Scrum
Although technically Scrum can be applied while you’re still busy trying to create the right product fit for the market, or when the tree is fully grown, for the sake of simplification, Scrum is most useful to put some structure to an organization that will nurture it enough to grow into a tree, after it has been proven viable.
It’s a framework designed to allow organizations to deliver value faster, following a set recipe with some room for movement. The focus is on incremental delivery, or breaking down the elephant into bite-sized bits.
In essence, it’s a management framework applying some of the lean principles for a specific application in software delivery.
Growing the tree — Agile
Agile (more correctly called agile software development but to keep it shorter I’ll break the rules a bit and also call it agile) came after Scrum and can be seen as an evolution of Scrum. It focuses on the mindset and decision making rather than the technical framework and tools of Scrum.
It adds onto, or is an extension of, Scrum rather than to be seen as something different or competing. For more on my perspective on how Scrum and Agile differs, read Why Scrum is only the beginning of going Agile and Why Scrum Doesn’t Make you Agile.
Most agile implementations (I know of) starts with Scrum (because it’s so easy), with Agile adding and changing the ingredients of the recipe to personalize it to the individual needs of the organization. For example, the Scrum board changes into a Kanban board, which is a Lean tool. Or you start using methods to improve how the development is done, borrowed probably from XP. Scrum is the process or framework, XP and other agile practices the pieces filling in the framework.
Agile is not a methodology at all. Rather, it is a guideline that will help the organization become more adaptable to changing requirements, or more agile.
In my picture, I see it as the stage where the tree is growing sustainably. A one-size-fits-all solution is no longer suitable and a more custom approach is required.
Creating an eco-system — Lean Production (TPS)
Finally, Lean, or rather TPS (Toyota Production System), is the oldest and most mature system. Everything in Scrum is designed around Lean. Everything in agile follows Lean methods too. Yet, Lean is much more than all these methodologies combined.
Where Lean Startup, Scrum and Agile are focusing on the how, Lean Production starts with why. Lean Production is a leadership system rather than a production system (whether producing information artifacts, software, business services or tangible products like cars).
The way I understand it (and I could be wrong) is that it is about creating a sustainable eco-system rather than just growing the tree. It’s saving the rain-forests compared to producing more and more trees for short term profit. It’s about constantly finding equilibrium — both inside the organization by leveling workload and problem solving, and outside, striving constantly for flow by including partners and suppliers in their methodologies to enable them to deliver more sustainably.
Lean is often used to describe the processes used to produce goods, however it works not because of these processes, but because of the foundation of purpose and the development of people and partners.
Where Lean Startup, Scrum and Agile are concerned with the tree in isolation, Lean Production (TPS) is concerned with the tree in relationship with the environment surrounding it. It aims to maintain the entire eco-system sustainably, often making short-term gain sacrifices in support of it’s long-term view.
In a nutshell, that’s the difference between these different methodologies. However, this is looking at the tip of the iceberg. The ice-cap only. So let’s drill down a little deeper by looking at the main differences and similarities between Agile (which can be seen as both Scrum and Agile for the purposes of this post) and Lean.
A short history of everything
Also known as Lean Production or Lean Manufacturing and more correctly known as the Toyota Production System (TPS), lean is a philosophy rather than a methodology. It’s a set of tools, values and methods with the sole purpose of optimizing the value chain. Quoting Taiichi Ohno, the founder of TPS:
“All we are doing is looking at the time line from the moment the customer gives us an order to the point when we collect the cash. And we are reducing that time line by removing the non-value-added wastes.” (Ohno, 1988)
Lean, in it’s essence, is about doing more with less. Constantly. Small innovations as a habit. Being as efficient as possible with the resources available, and doing as much as possible with as little resources possible. Aptly named lean. Never at the cost of short-term gains though. Always with sustainability in mind.
Lean thinking, however, is a leadership style rather than a methodology. It’s not so much about the efficiency of the system than about developing people who has a lean mindset and can create and maintain a lean system. It’s about creating problem solvers rather than solving problems using a set of tools and techniques.
Lean originated in car manufacturing where the goal is to produce the same, tangible objects as predictably and reliably as possible, which is different from Agile which originated in software development, where the goal is to produce mostly intangible and unique products reliably and consistently.
Leadership and Efficiency vs Change Management — The differences
The main difference between Lean and Agile is that Lean originated in response to a need to deliver exactly the same things consistently, whereas Agile originated in response to the need to deliver something different every time an order is placed and the ability to manage changes in the requirements. Secondary, Lean manufacturing has a cast-in-stone set of requirements when an order is placed, whereas Agile is a co-creation that is ever-evolving.
Same-same, but different
Where lean manufacturing dealt with minimal changes to the production line, thus giving them time to perfect the process to produce the same tangible thing, agile is at its heart is a change management philosophy that enables a team to deliver an ever-changing product on an ever changing production line.
Agile is about delivering something new and unique every time, something that has never been done before. Lean is about delivering the same thing every time, exactly as it has been done before.
However, that being said, it should be noted that Lean was invented as a result of a need to deliver different cars on the same production line, so it’s not entirely true that Lean doesn’t handle constant changes and chemical engineering has as many variances as can be seen in software, but in software development, the changes are so much more and so much more complex, making it a worthy difference between the two for the sake of understanding.
Lead as if you had no power
At the heart of Lean thinking, or TPS, however, is not production, but leadership. It’s not so much what is being done as how it is done. Where in agile development the Scrum Master or agile coach is often chosen as the most senior developer who is able to give all the answers, Lean has a coaching rather than management style to problem solving, where the leader never tells the employee exactly how to fix a problem.
In Agile, the coach is often the hero, in Lean, the leader is always a guide, never the hero.
The Lean leader humbly leads as if they had no power. Their role is not to make decisions, but to make sure that the employees make the right decisions. It is based on a follower and transformational leadership style routed in respect.
The entire Lean philosophy is built around highly motivated people at the center of the organization. The goal is to empower people and suppliers. The entire value chain matters, not just your team or your department.
The biggest waste is wasting the time and effort of the people doing the work.
Agile, although fast changing, is mainly seen as a software development methodology, which is merely one part in the overall supply chain. No to very little focus is put on leadership values as such, whereas Lean is built entirely on a foundation of strong leadership based on respect and organizational purpose.
Local vs Distributed
Another major difference between Agile and Lean is that Lean was developed with the workforce mainly co-located in one place, where-as Agile mostly assumes a workforce distributed across the globe and in different time zones.
Where Lean empowers the workforce to stop the production line when they see an error, in a software development environment using Continuous Integration with teams distributed across the globe, it’s not as simple, and it’s not as easy to do a Gemba walk virtually as physically either. Or maybe, we just haven’t had enough time to figure out how to do it yet.
Agile, thus, requires a way to handle errors — as it is inevitable — where Lean mostly attempts to avoid errors by building in quality.
Delivering value faster — The similarities
Both, however, is about delivering value faster. Lean Manufacturing does this with a number of tools and techniques to systematically reduce waste; Agile does this with shorter feedback loops to enable correction between the vision and the actual product faster.
Culture is king
Both Lean and Agile are cultures rather than a set of methods. Actually, all the methods were created as a result of the culture of learning and improvement both have.
Lean, above everything else I dare say, is based on a culture of respect and humility. Teamwork and people development are also ingrained in the philosophy, while pragmatic learning by doing and seeing for yourself are compulsory tools for problem solving. There is no ivory tower where the manager asks for a report on a problem, they walk down to the floor and fully understand first-hand what the problem is.
Agile, similarly, suggests that face-to-face communication is the best form of communication and people are more important than process. It is also a learning culture above everything else, with team work and humility also necessary ingredients for success. Transparency is yet another value similar in both cultures.
Both reduce waste constantly. In Lean Manufacturing waste is often easier to spot as there are tangible artifacts lying around whereas in Agile, waste is often harder to spot. However, there are more similarities than differences, it’s just that we haven’t classified the wastes in Agile as in Lean.
Redundant code or badly written code is one example of waste within Agile. A growing backlog of bugs (excess inventory) another, with the necessity to resolve a bug in the first place yet another. Bad tools often are the biggest cause of waste, as information is at the center of software development.
The only difference is how the waste is dealt with. In Lean Manufacturing, cleaning up and ordering parts is one way. In Agile, TDD is a tool to reduce the need to rewrite code. However, both can be applied in either methodology, just as Bonjour in French is exactly the same as Good day in English. It might be said in different languages, but the meaning remains the same.
What you can see, you an fix. Both Lean and Agile use visual management, visualizing work and workflow. The one with a Kanban Board, the other with a Scrum board and sticky notes.
Both identify issues or different states visually as a way to provide feedback to co-workers and managers.
Lean empowers its employees by giving them responsibility and ownership to make decisions, including the ability to stop an entire production line when they see a fault. The manager can never tell an employee what the answer to a problem is or what to do, their role is to help the employee discover the answer themselves.
Agile teams also have autonomous teams who report to each other, rather than to a team lead. The team is given ownership of how to perform the tasks at hand exactly the same as Lean does.
Both Lean and Agile follow the Deming P-D-C-A cycle. In Lean Manufacturing a hypothesis is made (Plan), it is Done and Checked and finally work or tools standardized or the plan changed (Act) before starting a new work cycle.
In Agile a sprint is Planned, a timeboxed sprint run (Do), a review presented where the work is either accepted or rejected by the business (Check), and a retrospective held (Act) to re-evaluate what worked and what not to enable the team to be faster and better the next sprint.
The Lean Startup, a different methodology all-together, is also built around this feedback cycle.
The Lean Startup has received a lot of attention in the media and I often see people confuse Lean Startup with Lean Manufacturing. I’m no specialist on the Lean Startup but I do know it solves different problems than Agile and Lean and is mostly intended for a different audience and a different phase of the product life cycle.
Product Life Cycle
Lean Startup is a methodology aiming to help entrepreneurs make better decisions while building a new business. It’s a tool set designed to use validated learning in extreme unknown environments. An entrepreneur is trying to figure out what customers want, they are still defining the value chain. Only once there is a product that has been sold at least a few times does it make sense to optimize the process of delivery using Lean and Agile principles. It’s thus most useful during the discovery and introductory phase of a new product or service into the market, when a value chain has not yet been formalized as a repeatable process.
Scrum, as mentioned before, is a useful starting point towards agile and ultimately Lean. It can be implemented at any phase actually, however, it is (in my opinion) most useful when embarking on an agile transformation. Every agile transformation I’ve witness, has outgrown Scrum at some stage and moved more towards Lean, with Agile the bridge between Scrum and Lean.
Lean Manufacturing and Agile are very comparable, both focused on delivering value faster while the product is growing, and actually, focused on maintaining growth. Toyota, for example, has been around since the early 1900’s, with the parent company (and central player) started in 1926 and is still a successful company nearly a century later.
In a nutshell
Agile and Lean have more similarities than differences, and in my opinion, Agile is moving more and more towards becoming an industry specific implementation of Lean. Agile adds some useful concepts to the traditional Lean Manufacturing toolset, of which the introduction of a more gamified environment is one huge benefit that I haven’t seen in Lean. Another major benefit is the accessibility to implementation that Agile brings with the inherent software based solutions it produces.
The software development community at its heart is a sharing community, maybe due to the nature of the work, maybe due to the nature of the people, but more than ever (maybe I just didn’t look hard enough?) do I find resources and methods openly being shared that enables more and more people to implement Lean and Agile principles in their environment.
My prediction is that in the next 5 years Agile and Lean will be used intermittently as the same thing, as integration between different departments, industries and technologies become more standard.
Originally published on Medium: https://medium.com/teal-times/the-difference-between-lean-startup-lean-and-agile-explained-e8ee94806632