The following tenets of Lean Thinking can be extremely helpful to teams doing Scrum:
Most people have heard the phrase “just-in-time” as a Lean tenet. One of the shifts in mindset to Lean is that we should be looking at time from start to finish (“cycle time”) and not the individual steps along the way. This is true not only for Scrum but everywhere. See
The biggest quality issue in software development is not having clarity on what is desired and/or required. Lean’s focus on fast feedback implies the use of Behavior-Driven Development since that provides virtually instant feedback. See Benefits of Behavior-Driven Development.
Scrum require small stories to fit into the sprint. But starting with epics and then features and finally stories is often a difficult task. The Net Objectives approach to Scrum integrates Scrum Agile Product Management which uses MVPs and MBIs. instead of epics. In addition, BDD’s Given-When-Then construct is much more capable of creating small stories than the somewhat ubiquitous “as a <user>, I want <requirement>, so that I get <business value>”.
The real goal is not effective teams but an effective organization. Effective teams are part of an organizations transition to business agility – the quick realization of business value sustainably, predictably and with high quality. Lean’s systems-thinking and holistic view helps provide insights on how Scrum can work in the bigger picture.
One challenge Scrum sometimes presents to organizations is that they focus so much on teams that teams learn to locally optimize at the expense of the bigger picture. Watch How successful pilots actually often hurt an organization (video).
Part of taking an holistic approach means making all work visible so taht all parties involved can see what is happening and what is expected of them. But there is value in driving improvements by making workflow visible. See Visual Controls for more.
Flow is based on limiting delays in workflow, feedback and using information. Work-cells are having all of the capabilities needed to achieve the work. In a manufacturing line, this is often one person managing several machines. In software development this is epitomized by cross-functional teams.
Teams can be improved by both attending to their workflow (making it explicit and visible) with visual controls. Doing this improves both efficiency and collaboration. By creating visibility on the impact of interruptions, challenges being caused by those outside of the team can be made clearer to them.