Principles Of Lean Thinking

In my previous article, we learned what is Lean and 5S tools. In this article, we will learn the Principles of Lean Thinking.
 
Yes, Lean Thinking has principles and they are: 
  • Eliminate Waste
  • Amplify Learning
  • Decide as late as possible
  • Deliver as fast as possible
  • Empower the team
  • Build integrity in
  • Optimize the Whole
 
Let's dig deeper.
 

Eliminate Waste

 
Any activity that consumes resources but adds no value is called waste, in Japanese terms, it's called MUDA; for example, partially done work, extra processes or defects.
 
Sometimes some work is necessary for the end customer but that is non-value adding in business and some are non-value-adding and unnecessary for end-customers.
for example, extra documentation that customers don't need, unnecessary features or requirements, complexity in code, code that is not tested, built and integrated, Extra process or unutilized resources or assigned resource on multiple projects and switching back and forth are all forms of waste in lean and should be removed from the value stream for the continuous flow.
 

Amplify Learning

 
Only eliminating waste and concept of value stream map will not guarantee success, lean emphasizes continuous learning.
 
Customer needs are changing frequently based on the market, hence in lean there is a chance for continuous improvement and learning.
 
As we saw in Scrum and Extreme Programming we develop and deliver requirements in shorter iterations and it will help in this continuous learning process as we have early feedback of the customers and stakeholders.
 
A lean manager works closely with teams to support them, and coach them in their learning, encourage them to solve the problems, and not micromanage.
 

Decide as late as possible

 
Customer needs are changing frequently. Lean follows just-in-time planning because, in the frequently changing scope there is insufficient visibility of what it looks like, so detailed project planning and commitment are considered as waste.
 
DRY - Do Not Repeat yourself, is one of the technique adopted by lean is use of abstraction, modularization of code, avoiding repetition in code and using a breadth-first approach to problem-solving rather than depth-first.
 
Lean looks to defer commitment and delay decision-making until the last responsible moment, so that the team can benefit from maximum agility.
 

Deliver as fast as possible

 
In this rapidly changing development environment, often the speed at which features are delivered means a lot in terms of revenue and compitition in the market.
 
Lean follows the principle described as fast-flexible-flow. Delivering small iterations preferably a smaller iteration to get early feedback.
 
This feedback helps the team to inspect and adapt to learning about the domain and customer mindset.
 
It helps to better plan and aligns the business, and produces only what a customer wants or demands.
 
So there are no items or inventory waiting to be consumed. in Scrum, we have all planned stories in a sprint but here in lean we only have limited items and based on the need team will look to pick up a piece of work when they are done with the previous task. This helps to reduce work in progress. As per Little’s Law setting up low limits in a WIP (work in progress) will help to maximize the flow (and throughput) through the system.
 

Empower the team

 
Lean is  people-oriented and respects people at work, by empowering the team we are giving the team an opportunity to inspect and adapt to maximize the value and seek continuous improvement.
 
Lean gives the power to teams to make decisions, gives accountabilities in their works and helps people actively deliver value, remove quality issues, refactor design and code, comesup with new ideas and drive a culture of adaptation and continuous improvement (also called kaizen).
 

Build integrity in

 
There are 2 types of integrity in this principle, perceived and conceptual.
 
Perceived Integrity means how customer experiences the product and manages qualities like reliability, economy, accessibility, ease of use, its applicability and so on. 
 
The other flavor is conceptual integrity, which is how the components of the system are coupled together that leads to flexibility, maintainability, extensibility and the aspects in perceived integrity. 
 

Optimize the Whole

 
Lean applies many levels of organization like a product, marketing, sales, technology teams, infrastructure, and management and encourages system thinking.
 
It is not only one department but a whole system, from the beginning to the end of the application lifecycle management how it connects with each other and how it can be continuously improved.
 
It is important that each team member focuses on the overall system performance and not be restricted to the area where they have a specialized skill.
 
Knowledge doubles if you share it, so please share if you like this article.