As we work with clients who are moving up the Agile maturity curve there is increasing interest in the subject of Lean management frameworks for complementing Agile practices. Because the two value systems and supporting management techniques share so much in common, it’s often helpful to compare and contrast the two in order to better understand how they fit together.
Lean and Agile are similar in that they both offer a people-centric framework for managing software development projects. Both models serve to reinforce adaptive, transparent collaboration with the same ultimate goal to maximize the value delivered by development teams both to customers and to the business. Often times these two frameworks collapse into one another – Lean forming the basis for broad process and project coordination and Agile serving as the guidance for core development activities.
While there are similarities between Lean and Agile frameworks, there are differences that are worth noting. So I’ll address of few of these in today’s blog.
So what is Lean?
Lean starts first with a philosophy of ‘managing the whole’. Lean worries about all moving parts, not just one. While requirements management, code construction, quality assurance, and production release are important and complementary functions, Lean cares about how they can be orchestrated in a way to maximize the speed and quality of developed products and services. The name of the game is optimizing end-to-end organizational value creation and coordination while fostering a collective focus on quality and productivity.
Lean maximizes value by providing visibility and tools for helping the organization to avoid doing too much. While it’s not always intuitive, often the best way to physically speed up the rate at which quality products are getting pushed out the door is to actually force the organization to do fewer projects, it is this paradox that is at the heart of what makes Lean so interesting. Like Agile, Lean has a core set of tools and metrics that are used to promote visibility to all stakeholders. While Agile tools and metrics focus on team progress and output, Lean promotes metrics that lend visibility to the work in process (WIP) across the entire end-to –end lifecycle. This kind of metric galvanizes the entire collaboration community into a common goal of moving software and products to completion in the least amount of time while maintaining maximum levels of product quality.
How does Lean compare to Agile?
The most common Agile project management frameworks (like Scrum) introduce the concept of limiting work in a different way… rather than balancing the work-in-process across distinct functional teams and organizational boundaries, the Scrum framework encourages teams to consider the limits of what is possible for them to achieve in short cycles (weeks). This technique provides a similar benefit to Lean in that the team will always produce more finished work if it doesn’t over commit.
Like lean, Agile also promotes visibility among team members, but in a different way. Agile promotes light-weight and informal communication as a central tenet. Every day meetings amongst the Agile team are commonplace and play a critical role in the timely resolution of issues. Another key feature of the Agile process is close contact with the customer. The intended end-user is considered an integral part of the team and is central in insuring acceptance from the customer base.
Other subtle differences include the way Agile promotes a more tailored and adaptive approach to how a specific team will manage its work (metrics, practices, etc.). Lean instead seeks to normalize a set of common and consistent practices for managing the collaboration across functional teams that is relatively uniform across the company so that mechanisms that influence broad organizational collaboration are well understood by all.
While there are other many more specific examples we could discuss, the point is this; Agile software development is typically focused on core development team and immediate customers and collaborators. Lean is typically more focused on providing visibility and tools for optimizing the flow of work across teams and the organization. In this way they complement and support each other.
In a future post I’ll highlight some interesting developments over the last few years in a Lean Framework for teams called Kanban that is showing increased adoption as an alternative to Scrum.