Agile processes, practices, and techniques provide a mechanism to break down and deliver the work in small Increments, thus reducing complexity and risk. Lean mindset and techniques focus on efficiency at the pull of the customer through the elimination of waste, errors, and delays. Used together, Agile and Lean are like a “1-2” combination knock-out.
If you reflect on the values and principles of Agile, they have common themes to the Lean principles. Both have a focus on people, quality, and continuous improvement. The seven Lean Principles are:
- Eliminate waste.
- Build quality in.
- Create knowledge.
- Defer commitment.
- Deliver fast.
- Respect people.
- Optimize the whole
In the last article, we discussed how going back to the basics of Agile values and principles can help guide your team towards a better state. Adding in lean principles will aid work redesign from another lens.
Our goal as a Lean team is to produce exactly what the customer wants – no more, no less. Your Agile team can utilize the eliminate waste principle to identify and remove wasteful steps in the development lifecycle. Three types of waste to be mindful of are Muda (wastefulness), Mura (imbalance), and Muri (overload). Muda highlights processes which are contradicting value-add. Watch for patterns like problem-solving being done by people outside of the core team, extra approvals, or excessive manual steps which can be automated. Muri identifies overload of batch size.
Has the team refined Product Backlog Items more than 1-2 Sprints ahead? Beyond this, your team is potentially over-planning and less able to make adaptations when things change or have analyzed work that may not be a priority. Mura identifies sources of imbalance. We have seen this when team members specialize in one area and become a bottleneck of flow or roadblock when they are away. Reducing waste will result in the reduction of routine tasks which slow down overall performance and help to increase the quality of our interactions.
The build quality in principle places emphasis on quality early and often while the product is being worked upon. When we build quality in, we reduce the need to go back to the fix an Increment once it has been shipped. Use an Ishikawa diagram to identify the root cause of the problem you are trying to solve to avoid only identifying and putting in fixes for symptoms. When refining a PBI, ask why at least five times to identify the root cause. The technique of poka yoke helps to prevent defects and create fail-safe work methods. Lean teams use poka yoke to mistake-proof the product and process to deliver the product. In software teams, we can use poka yoke to test earlier in the process and automate where and when possible, to make the product and process mistake-proof.
The Scrum Events held by teams practicing Scrum are a good forum to create knowledge. These Events also help to foster openness, respect, and courage between the Stakeholders and Scrum Team providing a basis for frequent communication and collaboration where we can learn from one another. In the Retrospective, the Scrum Team practices Hansei or reflections using a Kaizen mindset. As a team, we identify learning, and improvements, and define action for change to our process. Throughout our product delivery, we may leverage practices like swarming, and non-solo work to grow our team and reduce the waste of unused talent.
The lean principle of defer commitments, which means taking decisions at the last possible moment. In areas of complexity or uncertainty, where things are very likely to change, this principle is especially important. Already mentioned, we do not want to over-analyze our Product Backlog Items too early. We decide what to include in each Sprint and analyze them just in time for the development activities. Have your team consider architecting the product, specifically technical products, to be flexible. Encourage architectural decisions to the solution so that fewer Increments are irreversible.
Applying the principle of deliver fast not only helps your customers but has benefits toward deferring commitments and creating knowledge. Reducing your sprint length encourages backlog items that are broken down to fit in the sprint, enabling the release of small, incremental pieces of value. These quick releases also enable experiments to confirm customer needs and feed into making informed decisions on what and when to release. Employing DevOps practices such as Continuous Delivery not only delivers to customer needs on an ongoing basis, but it reinforces that all changes are high quality and release-ready, reducing the risk of an inventory of bugs.
The ideal lean/agile team is described as self-managing, autonomous, and enabled, with a strong alignment to stakeholder needs. A team that meets this description is the result of reinforcing the lean principle of respecting people. To reach this definition there must be a level of trust, enablement, and transparency on the team and from their leadership.
As a leader, collaborate with your teams to set clear overarching objectives, key results, and expectations. A team that has a clear understanding of its goals and is enabled to be self-managing will be motivated to deliver and, usually, exceed expectations. As a team, create a working agreement to define how you will communicate, build trust, grow in expertise, and manage risk. With this in place, you can improve how you deliver to customer and business needs, create an environment where opinions are respected, and foster the freedom to challenge one another.
The final principle of optimizing for the whole encourages each team member to not only be focused on their responsibilities but also on how they fit into the bigger picture. At the smallest level, it provides an understanding of how a backlog item fits into the overall product goals. Within an ecosystem with multiple teams and roles, it enables an understanding of how each team interacts and delivers value together.
To see the whole, a tool such as value stream mapping can be used. Mapping the product delivery value stream will help in seeing how each team fits into the overall delivery process. Identifying the value stream associated with a team’s work-life cycle provides a visual representation of how the team delivers quality. To enable optimization, identify key measures within the value stream and ensure they are continually produced and visible. The optimization will be evident as the measures improve over time as a result of reducing waste, realigning processes, and eliminating dependencies.
While each of the seven Lean principles can provide value on its own, they are intended to be used as one. Reflect on how they interrelate, and you’ll see how, together they can greatly increase the focus of a team, improve efficiency in almost any task, and enable a mindset of continual improvement.
Compare the Lean principles with the principles of Agile, and you will see how they both, at their core, strive to minimize waste and maximize value. Adding the Lean principles to the Agile values and principles will reframe, refocus, and reinforce any teams’ efforts, no matter the goal or desired outcome, including Agile adoption and transformation.