By the end of this article, we promise you’ll be a Lean management guru! After we’ve discussed what Lean is and its benefits, we’ll look at how it’s used in software development and how to implement such a system within your team.
Let’s get into it!
From this article, you will learn:
What is Lean Management? Definition & Benefits
Now a popular universal management tool, Lean helps teams of all shapes and sizes make significant improvements to their workflows, focusing on a culture of continuous improvement to drive greater efficiencies and continuous workflow… So let’s learn more about Lean management!
The Definition of Lean Management
It’s always worth starting with a definition:
“The Lean methodology is a management framework designed to help organizations improve their performance by reducing waste, creating stability, and focusing solely on value-adding work.”
To be truly ‘Lean,’ organizations and teams strive to remove non-value-adding tasks from their processes. To do this, they focus on customer needs and the critical steps required to fulfill those needs.
But as we all know, nothing is perfect. The Lean methodology factors that in and uses the concept of continuous improvement to ensure teams continually refine products, services, and processes to deliver incremental improvements over time.
The Origins of Lean Management
Now, it’s time for a history lesson to understand where Lean management comes from – let us take you back to the 1940s and the Toyota production floor where Kiichiro Toyoda, Toyota’s founder, had a problem.
Toyota’s popularity was booming; their cars were in high demand and the company was struggling to keep up. They needed a simpler way to manufacture at scale – that’s where the Lean methodology was born.
To help Toyota move faster, Toyoda focused on removing three types of inefficiency from his team’s work process:
- muda (“non-value-adding work”)
- muri (“overburden”)
- mura (“unevenness”)
Over time, Toyota used continuous improvement to remove ineffective parts of their operation, until they developed the now-famous Toyota production system, the first of many Lean manufacturing techniques.
Toyota used this work process to dominate the market, harnessing Lean thinking to develop concepts such as the just-in-time (JIT) production process, stable production systems, and a ‘pull system’ of delivery.
Nowadays, the Lean management concept can be found in many areas of business, with John Krafcik famous for taking the original Toyota production system and turning it into something that businesses of all shapes and sizes could implement.
The Lean Principles
While there are many different Lean management systems, they are all based on Lean principles. In many ways, you can also view these principles as the steps you need to go through to make your business/team more “lean”.
Let’s look at each one in turn:
#1 – Define Value
When looking to adopt a Lean system, the first thing to do is to understand the customer value. In business, that boils down to what the customer is willing to pay for.
To nail the first of the Lean principles, teams have to put themselves in their customer’s shoes to understand what value looks like. But this isn’t always easy to define, especially for new or emerging technologies.
To help, businesses can use techniques such as interviews, questionnaires, web analytics, or market research to gain a better insight into what value means for their customers.
#2 – Map The Value Stream
Next, it’s all about value stream mapping. Value stream mapping puts the identified customer value as the objective and helps teams work out the steps they need to take.
Teams focus only on the tasks that actually add value to the final output. Any non-value-adding steps are removed to make the process, and in turn, the output, as Lean and efficient as possible.
Value stream mapping isn’t just for new processes either. Where teams are working to re-engineer an existing process, this invariably means taking out work/tasks from the existing workflow.
Remember – This goes back to Toyota’s Muda waste type of removing non-value-adding work.
#3 – Create Flow
With the new value stream mapped out, the third Lean principle helps teams create flow by utilizing a stable production system. This is about ensuring those value-creating steps occur at exactly the right time, in exactly the right sequence.
When it comes to creating flow, what you really want to achieve is a team that’s always working at a consistent pace. Techniques such as capacity management, bottleneck removal, cross-functional training, and process re-configuration are great ways to ensure the team’s workflow remains smooth and the production process is constant.
Remember – This goes back to Toyota’s Muri waste type of removing overburden within the team.
#4 – Establish Pull
The most contentious of the Lean management principles is establishing pull. One of the biggest wastes in any production system is inventory, either holding too much of it or not having enough – in development, inventory can also be seen as a development resource.
The goal of a pull system is to effortlessly match your supply of resources to the actual demand of your customers. To do this, organizations strive for a just-in-time delivery approach, limiting their work-in-progress (WIP) to create products/services exactly when they are needed.
This is perhaps the hardest of the Lean management principles to get right, with constant fluctuations in actual demand, supply-chain issues, and human error all threatening to tip your continuous workflow out of balance.
Remember – This goes back to Toyota’s Mura waste type of removing unevenness from the workflow.
#5 – Continuously Improve
Lean management isn’t a moment-in-time exercise, it’s something organizations should continuously review. The key pillar of Lean thinking is to adopt a continuous improvement mindset where striving for greater efficiency is a core part of the culture.
Every employee should strive toward perfection in everything they do, with managers and leaders constantly looking for ways to improve by repeating the first four Lean principles.
The Benefits of Lean Management and Continuous Improvement
Now we know what Lean Management is, its history, and the principles which underpin it, it’s time for the so what – what are the real benefits of Lean Management?
Here are some of the key ones you can expect to see in your team:
- Improved Efficiency. First and foremost, Lean management systems enable teams to run more efficiently. This is the foundation for all of the other benefits we’ll discuss here.
- Speed of Delivery. Being more efficient allows teams to deliver faster. By cutting out waste and only focusing on value-adding activities teams can turn ideas into real-life outputs at pace, and ensure the customer gets what they want faster.
- Lower Costs. If your processes are Lean and more efficient, it takes less effort to get more done. From a business perspective, teams can be smaller, less physical resources are needed, and overheads can be optimized. This directly impacts the bottom line of the business and provides businesses that implement Lean with a solid ROI.
- Increased Customer Satisfaction. A laser-like focus on customer value means everything you do puts the customer’s needs in the center. This invariably means you create outputs that are exactly what the customer needs and will make them happier.
- Happier and More Productive Employees. Lastly, employees thrive in a Lean culture where processes are efficient, delivery is fast-paced, and customers are happy. This perpetuates as happier employees are more engaged and productive, leading to greater efficiency and better results.
How Can A Lean Management System and a Lean Production System Be Used in Software Development?
When it comes to development, the Lean Software Development: An Agile Toolkit book is the bible. It took the original lean principles and re-developed them to create a Lean management system perfect for development teams.
Here’s how you can build your own software development Lean management system using the Lean Development Principles.
#1 – Eliminating Waste
We know the concepts of eliminating waste in Lean, and development is no different. Here are some waste types to remove from your development process:
- Useless code or non-valuable features
- Delays in the development process
- Unclear, over-defined, or changing requirements
- Unnecessary bureaucracy
- Defects and bugs
- Task switching
#2 – Build Quality In
Of course, everyone wants to deliver high-quality work, but in practice, it’s hard to achieve. Everyone is responsible for quality, so try implementing these developer-specific Lean management tools into your process:
- Pair programming to combine knowledge, experience, and skills
- Test-driven development to focus on the right outcomes
- Minimize waiting times to improve focus
- CI/CD automation to remove human error
#3 – Create Knowledge
Lean teams focus on retaining the knowledge to make tasks and processes more efficient the second time around. Here are some ways to do this:
- Pair programming to cross-skill
- Code reviews to check for errors
- Clear, easy-to-read documentation
- A wiki/knowledgebase to store documentation
- Lessons learned & knowledge sharing sessions
#4 – Defer Commitment
Deferring commitment is all about making decisions at the right time, based on good quality data – it isn’t an excuse to be unreliable.
Create the conditions to correctly defer commitment by:
- Not planning in great detail far into the future
- Not committing to work without completely understanding the requirements
- Focusing on collecting rich and reliable information
#5 – Deliver Fast
To deliver fast, teams actually need to focus on what’s slowing them down. Identify and remove these common culprits:
- Thinking too far ahead rather than focusing on immediate value
- Unnecessary blockers to progress
- Over-engineering solutions and business requirements
Ultimately, it’s all about building simple solutions, giving them to customers, and using their feedback to make continuous improvements!
#6 – Respect for People
This is where Lean blends into Agile, with a focus on teams that respect each other and work well. Promote a culture of respect and great communication by:
- Communicating regularly
- Encouraging safe, healthy conflict
- Facing challenges as a team
- Empowering each other
#7 – Optimize the Whole
To finish, remember that a piece of software is like a living organism – it all works together to create an experience. When adopting Lean, understand that your team need to work in harmony, so step back and consider the bigger picture.
This is where the traditional principles of Lean management come back in. Remember to identify the customer value, create flow, establish a pull system, and continuously optimize work processes to keep the entire software team in balance.
If you’re looking for ways to deliver work faster, Lean management may be for you. Taking its roots from Japanese manufacturing, businesses across the globe use Lean to cut waste, boost efficiency, and focus on customer value.
Software teams are no different, using Lean Software Development to create amazing products that excite their customers. If you’d like to speed up your development cycle and become more efficient, why not use the 7 Lean software principles into your team today and start reaping the benefits of Lean management?