I recently got a valid question from a collegue and it deserves an answer.
"When do I use Scrum and when do I use Lean?"
Lean predicts that work happens in a certain order. Scrum has a "chaos" approach where work can be done in best possible way, dictated by the situation.
Therefore Scrum works better than Lean in environments with rapid change, on the edge of chaos where the same solution rarely work twice.
I did not get the contradiction. What is the context of the question? Why I could not “use” both Lean and Scrum in my organization?
Context is really organizational maturity.
Lean meets it’s limitations where variance is very big and maybe out of our control. For example, it makes no sense to implement one piece flow if our arriving requests differ a lot in timing and size.
Scrum is a better way of dealing with high variance. A scrum team can choose two completely different routes to the goal “just because it made sense”. If we train a scrum team well (just like a commando units) they are equipped with skills to deal with a great deal of complexity, and variance. We can even start to imagine the team working without Scrum, just with a goal.
Is it really related to organization maturity? I would say that if I would have to run an organization getting in constantly new requests that have to be served in a small amount of time lean (or better, one-piece-flow) will be better than scrum.
Besides that, Alistair Cockburn has a really nice way of using lean processes in software development, thinking about inventories of “unvalidated decisions”. Let’s take then the concept of cross-functional team in scrum, isn’t that just applying what Alistair described? By putting together designers, developers, db designers, testers, etc etc those inventories are removed (since there’s not anymore need for handovers) and instead there’s a continuous flow of ideas. Isn’t that lean?