Combining Lean and Agile – Their Connection
In one of our latest articles I discussed the difference between Agile and Lean. I specifically did not talk about Agile development but Agile in its core – the Agile mindset. I believe this is the first step to take and first thing you gotta understand before trying to get into any other agile aspect. If you don’t truly understand the underlying mindset and incorporate that – you barely get all the benefits and don’t do the most effective Agile development.
And maybe this is another reason why most people confuse agile developing with Lean. Agile development is a process for fast software development which is in some aspects connected to the Lean principles BUT not the same.
One way to demonstrate how both are connected is to go through the agile Manifesto, which I wanna do with you now. Here we go:
1. Individuals and Interactions over processes and tools
Since agile teams work decentralized and cross-functional people play a central role in agile methodologies. Teams have to cooperate, communication is very important and the key to an effective agile team is to have the right people, meaning people in place with the required skills. However, a lot of departements are still struglling to get on board with Agile which complicates breaking down the Silos and working truly cross-functional in the whole organization.
Lean connects to that and even goes a step further focusing on resolving the latter. Skills development and improving everybody’s capacities is central to the Lean approach. One of the leading questions in Lean is ‘Who needs to learn what for the company to succeed?’. Instead of simply choosing the right people for your team, Lean focuses greatly on training your people’s skills accordingly (maybe that’s also why HR plays a bigger role nowadays in Agile…). One of their approaches is the problem-solving one based on the ‘Plan-Do-Check-Act’ Cycle. This approach focuses on choosing the ‘right’ problems and making decisions to solve them based on facts rather than on beliefs. I kind of had the same approach in my university (so called problem based learning) where we had certain cases given during tutorials and had to find solutions by the aid of learned theory in small teams. I’d for sure say that being ‘forced’ to think and focus and creatively resolving the issue using your already developed capabailities helped me personally grow and learn even more. It kind of comes close to a ‘learning by doing’ approach only focusing on problem solving skills in specific. Indeed, Lean means to support on-the-job-training helping people to develop necessary skills and learn as a team on the case itself.
These Lean approaches can be found in the two Lean principles ‘Create Knwoledge’ and ‘Respect People’ and they nicely fit with the Agile world. Maybe they can even help resolving the cross-functional obstacles?
2. Working software over comprehensive documentation
Agile teams work in iterations – mostly cycles of two weeks – aiming at developing working software (or a working product in general) as fast as possible rather than producing one product in the end or aiming at delivering large batches. They want to create value as soon as possible for their product – this is called creating the Minimum Viable Product (MVP). Thereby they recevie quick feedback on the product and can improve it constantly and incorporate changing requirements during the process.
This can be connected with the Lean principles of fast delivery and commitment. Lean aims at managing flow and limiting the amount of work in progress (WIP) to improve focus and reduce waste.
Agile teams manage flow by working in cross-functional teams delivering value during and at the end of their iterations. Each iteration is plannes according to their capacity to avoid overload and getting things not done due to missing focus and lack of time.
Sounds pretty connected, doesn’t it? Indeed both focus on the essential, aiming at reducing waste and creating value as soon as possible by ‘flowing’. The short feedback cycles encourage this. Knowing what is important for your customer as soon as possible and being able to respond to it, is important for both, agile development and Lean. Agile teams get this feedback due to their iterations and constantly happening system demos while Lean is based on a just-in-time system always trying to eliminate waste by incorporating feedback as much as possible and basing their decisions on that.
3. Customer Collaboration over Contract Negotiation
Shortly summarized Lean focuses ‘on doing the right thing’ (something the customer needs) and Agile focuses more on ‘Doing the thing right’ (providing the customer with the product he wants). That kinda sounds the same, but it’s not. When we are working in an agile team we are happy when the customer is. We are aiming at providing the customer with value asap and improving the product based on the gotten feedback. In Lean we focus on ensuring the requirements match users’ needs and providing actual value. Still sounds the same? Well, remember Lean comes from car manufacuring and was developed by Toyota. They were listening to the market and taking feedback from the market into account, working constantly on the essentials, managing flow and waste to build a useful product for their customer (market). Zara does the same for example. They also work with a just-in-time system, constantly looking for feedback from the market, following trends and manufacturing their clothes accordingly, providing clothes the customer actually wants and needs.
Agile comes from software development. Here they focused on having short feedback loops in place between the customer and the development team so they can incorporate requirements and writing the functionality constantly according to what the customer tells them he wants. It’s about making development more flexible and efficient, not manufacturing more effectively.
Either way, both – Lean and Agile – take care of their quality. Agile has a structured approach full of reviews and adaptation which allows them to focus on completing high quality within their product. Agile teams constantly get feedback and look for ways to improve and ensuring highly qualitative products.
Lean is highly standardized and has disciplined processes which allows the team to practice the Lean principle of ‘Build Quality in’. Due to these standardized and automated processes Lean minimizes its process errors and employees have time to focus on customer value instead.
4. Responding to Change over Following a Plan
The last point is kind of obvious if you closely read the first three. Lean is based on a just-in-time system, which literally means waiting for as much feedback as possible before making decisions to optimize change. That does not mean to wait forever but responding to ‘change’ in which ‘change’ proper customer feedback is. Lean is not tied to a plan, neither is Agile. Agile teams have their iterations which are constructed to be flexible and responsive to change.
In the end you can say, the combine two key concepts (Lean – build the right thing and Agile – building the thing right) to optimize the whole system (which also both aim at). And that is where they can be combined. They both follow cycles (Lean Start-Up cycle and the Agile Development cycle) and by overlapping them you can yield the benefits of both. How to do that? Hang on, I’ll discuss that in one of our future articles.
Author: Melanie BühneZurück