Lean Principles and Agile Development

I’m often asked, Do I need to learn Lean Thinking to master Agile? It’s not mandatory to master all aspects of Lean thinking but understanding and practicing Lean principles beyond the prescribed Agile frameworks can significantly improve Agile teams.

Lean thinking is founded on five principles. These principles guide a lean organization through continuously observing the practices necessary to support them. Scrum is founded on Lean principles. Therefore, Scrum practitioners and leaders must understand and embody the Lean mindset.

The Five Lean Principles

1- Define Value – In our daily work, it is easy to confuse effort with value. Lean thinking requires that we define what value means from the perspective of our customers. While waste is defined as anything that doesn’t deliver customer value, value is defined as anything that meets the needs of the customer. Value is the reason for the product, and ultimately, why the team exists. The product increment is the ultimate form of value for the Scrum teams. Defining the value of each product backlog item from the perspective of the customer and how it contributes to achieving the product goal is one way to apply this principle in Scrum.

2- Create the Value Stream – The workflow used to deliver the customer value is called the value stream. These are the actions necessary to create and place our products/services in the hands of the customer. The value stream is also used to identify what parts of the process bring no value and should be eliminated. An organized sprint backlog with a clear Definition of Done including the appropriate steps to enable product delivery is one way to ensure the value stream is known and implemented in Scrum.

3- Create Flow – Flow is the uninterrupted movement of value creation as it makes its way through the value stream. It requires minimum handoffs and teams with everything they need to produce the value without waiting on external dependencies. To achieve flow in Scrum, organizations must create small cross-functional teams that can deliver the work end-to-end in small batches. Depending on others outside the team to complete the work pauses the work and interrupts the flow.

4- Establish Pull – The team supplies value when the customer needs it. The team only makes what is needed at the time it is required. This is also known as Just in Time development. This optimizes capacity and prevents the use of effort and material for unnecessary items that do not benefit the customer. A pull system is the opposite of a push system. Creating a pull system and controlling it is best accomplished using Kanban. In Scrum, a sprint backlog containing the different steps to create the product creates pull signals. An example is using To Do, Doing, and Done columns on a Kanban bo