
Seven Lean principles to promote Flow
Lean was developed for manufacturing not for construction or software. It turns classical project management on its head. A manufacturing process is continuous. It does not start, deliver and end like a project. The machines keep turning and producing your products.
Continuous development

The alternating set of dramatic change and intervening stasis which characterises projects is replaced by a continuous process. “Business as usual” is your main concern, not just a gap between change oriented projects. Rather than pull change out into separate projects, change is integrated into the normal business of the organization.
The teams are stable over time, rather than created for a project. The work is brought to the teams, rather than the teams brought to the work. Lean focusses on this environment and looks at how best to optimise it. Lean’s great strength is in focussing on the system by which the organisation runs continuously. It looks at how work is done, at value and waste, and how to improve. If we are going to scale our organization, there are many valuable learnings we can gain from Lean.
A lean production system can seem almost supernatural to an inexperienced observer. People, processes, and technology magically seem to appear at the right time, do exactly what is needed, and no more.
“Lean Thinking” – Womack and Jones

What is “Flow”?
We are looking to achieve a continuous process of delivering value to the business at a sustainable pace. The analogy of water to represent the progression of work through the organisation is widely used in Lean. Lean uses the term “flow” for the movement of value from the creator to the customer. The analogy of flowing water describes the approach very well. In another Play, we look at the similar idea of a Value Stream. Water, in Japanese philosophy, represents adaptation and progression. Water adapts to obstacles and flows round them. Rivers move forwards to the sea.
In the same way we are looking to build processes which smoothly build value. We view the creation of value as a continual flow which progresses at a sustainable pace which we can continue indefinitely.
Water flow can be smooth, or it can be turbulent. Our objective is to remove barriers where possible. This encourages value creation to be as rapid and smooth as possible. Once we have identified how value flows to the customer, we can identify barriers. These disrupt or slow the smooth flow. We can then address these barriers.
Optimal utilization can be achieved only by concentrating on flow.
“Lean Software Development” – Mary Poppendieck
Principles of Lean Software
Mary Poppendieck in her book “Lean Software Development” did significant work to retarget Lean concepts towards the software world. She demonstrated how the ideas originally created for manufacturing could be applied effectively to software development.
Poppendieck identified seven key principles for software development which help ensure a smooth flow of value to the customer.

Build in quality
Integrate testing functions into the flow. Ensure these occur early and throughout the development. Avoid deferring testing to the end of the cycle which can lead to rework. “The job of tests, and the people that develop and run tests, is to prevent defects, not to find them” (Poppendieck)


Defer commitment
Build flexibility into the processes. Avoid making irreversible decisions early in the development. Aim to make decisions as late as reasonably possible. This ensures the maximum learning has been achieved and the best information is used.


Respect people
Build a culture based on respect and collaboration. Encourage strong self-managing teams who make decisions. Build psychological safety so teams are empowered and supported.


Optimize the whole
Look at the value stream from idea through to customer. Consider the whole product when adding features. Build continuous improvement based on the whole flow, not on individual pieces. Focus on how value flows to the customer and optimise for this.
Good practices

As an Agile leader, ensuring value flows through the organisation is central to your role. The strategies we might use are covered across many of the Plays on this site.
- Eliminate waste – this is a topic in itself and has its own Play.
- Amplify learning – build knowledge-sharing sessions. Create knowledge bases and ensure that people maintain them. Ensure that engineering teams interact widely with other teams and with customers.
- Defer commitment – keep planning at a high level where possible. Maintain the ability to change when new knowledge appears, and build in capactity for this in planning. Experiment early using Spike solutions to continuously refine the backlog.
- Deliver fast – develop iteratively to gain quick results. Continuously refine the backlog to ensure the latest prioritisation. Use rightsizing to ensure that working software is created in small increments. Use Sprint Reviews to inspect and adapt progress.
- Respect people – ensure the team have the psychological safety to share ideas. Involve them in decision making using a lowest viable level approach. Communicate changes and ensure the vision and priorities are known to all. Recognise successes and avoid blaming when things go less well than hoped.
- Build in quality – solve issues as fast as possible. Ensure that automated tests are present and passing. Check that good levels of coverage are being achieved. Backlog items should include acceptance tests to validate that they are delivering planned value. Refactor code and ensure time is being spent on technical debt reduction.
- Optimize the whole – make sure the teams understand the product and product strategy. Work across the value stream, not just focussing on one individual area. Ensure communication between teams and groups.
Leave a Reply