Skip to main content

THE 8 WASTES OF LEAN IN SOFTWARE TESTING

  • October 13, 2023
  • 1 reply
  • 917 views
THE 8 WASTES OF LEAN IN SOFTWARE TESTING
Prashant Hegde
Forum|alt.badge.img

The manufacturing industry has inspired many software development ideas and processes. A good example is the lean manufacturing philosophy that originated in the Japanese manufacturing industry. In the years following the agile manifesto, lean thinking began to gain prominence in software development. Agile software development has embraced several lean concepts. Lean encourages you to focus on the things that add value by eliminating the eight wastes. 

 

WHAT IS LEAN?

Toyota production systems developed the idea of lean manufacturing in the 1940s.

Lean manufacturing is a philosophy that focuses on maximizing productivity and minimizing waste. Lean is all about “doing more with less.”  It is about focusing your energy on creating customer value.

 

Waste is anything that doesn’t add value to the customers. It's anything a customer wouldn't like paying for. Waste is any activity that uses resources but does not add value to the customer. Lean is a systematic process of reducing waste (called "Muda" in Japanese). The key to delivering customer value is to identify and remove waste. 

 

In this article, we will explore the eight wastes of lean applied to software testing and how they can be eliminated. 

 

1. INVENTORY 

AIqYR1hS6-cCIraEAej_kQe9jLmG1UDUdzeUUATGP5QHtSgfPF6QIZHKPHpYNUnnqGWv0cfOdw5lrTUVh0dtbTYl0CVPF_xExRXj9wLcDcNHhScLFClRLff1mN5TDL8pc_H8XGAHmLPpxfIq5LM8IOo

Inventory means the material needed to manufacture a product that is kept in stock. More inventories can slow down a business. Overstocking can result in longer lead times, damage to goods, and higher storage costs. Since inventory has associated holding costs, it is considered waste. In software testing, inventory represents partially completed work. Some examples are shared below:

 

INVENTORY

HOW TO REDUCE? 

  1. Unreleased code to production. 

E.g., 1. Services on the backend are ready, but the front end needs to be developed.

 

E.g., 2 The code is ready, but testing still needs to be completed.  



 
  • Educate your team that unfinished work does not add value to the customer. The moment the software reaches the customer, the true value is delivered. Deliver Maximum value to your customers through your iterations. 
  1. Technical debt: caused by choosing an easy solution instead of an optimal one. Cutting corners for accelerated software delivery often results in technical debt.
  • Find the right balance between speed and quality
  • Identify and create a plan to resolve tech debt.
  • Regularly refactor the code. Ensure it's a continuous process. 
  1. Dead code:  code that never executes at run-time.
  • Detect unused code, and remove unused and unnecessary libraries. Modern IDEs and static code analyzers can detect and remove such code from both automation and production.

 

 

2. OVERPRODUCTION

DCdO-v9ZikO7wi_Zjzq-IZe1vMr2LuXr_hS_z6jBItM5LGJrFKfO0rzlQA1pOMXWN_mlE-q83CCi2ydE6pA8_PBSyb9PAyWzcqMUqGNN26R_4JKK_bFGI-BGz1O307x1NTE3KeEYUSCEYlgWu29_O0U

Overproduction is producing more products than are needed.

Overproduction leads to waste as it produces more products than your customer requires. It results in storage problems and an inability to meet customer demands.

 

In software development, extra features are a form of overproduction. Organizations are constantly adding new product features to gain a competitive edge. Adding features does not always make a product better. Customers only use some of your software's features. 80 percent of customers roughly only use 20 percent of the features in your product. There are many features that customers pay for that they don't use. It is important to know what features your customer's value.

 

4tyFCjlN35Uyj9RDDRk--S8-groKCaKuoh4E20wykgXbfP20AQZX7CVsUbI7IPp-jIjY1ekl4OVTMVk8f4P-Qi76dZi1bF7UkE-j-alUtN9JKl_c0KlKdzAOjro-plLrQQ7cx5h4wlx3VXuZTJvpYCs

V9mx4_hMUDqLvBJKuqdKlajyU5HwU_r0Va6-T15tcrQsy2PzQLKnjAdzt5DHvUAzsFfS-zjMYXxNtGmzJaYBiRFY_BjFRwkV5ozWeitgK5Ns2zjSGZHjc4EUp2CoqyDmveXb2IfRnAgSU5bkMhhojH8

Chinese app developers feel their consumers are attracted to a chaotic bazaar experience. However, this is different for the rest of the world.  

 

Your customers will not appreciate excessive features, as they can find your product more complicated and frustrating. In addition, it makes it harder to maintain for the Development teams. In addition, development teams find it cumbersome and time-consuming to maintain these features

.

 

HOW TO AVOID OVERPRODUCTION?

 

  • TAKE THE MINIMUM VIABLE PRODUCT (MVP) APPROACH - Launch your product with only the essential features that will attract early adopters. Take an iterative approach that eliminates waste by validating a product idea.
     
  • BE THE DEVIL'S ADVOCATE - As a tester, play the devil's advocate when requesting changes. Fulfilling customer needs are essential. However, you don't build something just because of one customer's request or suggestion. Consider whether the new feature will add value to a broader segment of users and whether there is a long-term vision for it. Never hesitate to question and debate with your product managers.

 

3. OVERPROCESSING

vYzvbg0Z1KsEZA9nB_GeHVX-dck42dBrsn5yazwvwowJ_t_JpHtZeyYkJTt5fnN3ggAyf8LQhjhks7FXiHUHJsuAG-GXIKFbQrPEtE0XhWsWpib0l3_xxZUv7u_i3cEbXS_Fc0X5EJDTfrbdnT5r1dc

Overprocessing is putting more work than required into producing the product. Adding extra steps with no added value is a waste. Overprocessing wastes money, time, and resources. Here are some examples from software testing:

OVERPROCESSING

HOW TO REDUCE? 

1.  An excessive amount of test documentation, such as overly extensive test cases, huge test plans following IEEE format, etc.,

 
  • Recognize that testing does not necessarily require test cases. Learn and practice exploratory testing

2. Overengineering your test          automation.


 

Wasting time reinventing the wheel with test automation frameworks.

  • Have a clear goal for your test automation efforts. Decide whether automating something is beneficial and worth the investment. 
 
  • Leverage powerful free test automation platforms like TestProject

3. Testing unwanted(too many) features during regression testing.  



 
  • With limited time and finite resources, it is impossible to test infinite test conditions and combinations
 
  • Embrace Risk-based testing - prioritize tests based on the likelihood of risks to maximize the effectiveness of your testing.

4. Repetitive testing, testing the same thing again and again every cycle.

  • Obvious solution is to automate your repetitive tasks TestProject

5. Unnecessary meetings

  • Analyze your existing meeting.
  • Start saying “NO” to the meeting with no clear purpose or agenda.
  • If you don't add value to the meeting, skip it. 
  • Block time on your calendar for focused work. 

  • Only hold meetings for important decisions, brainstorming, 1-on-1s, kickoffs, and discussions that matter.
  • Propose a “No Meetings” Day in your organization

 

4. WAITING

0xj8laWcFwY4dZYvp_qk_UvCJtPoR0IsH-oTOqigQ8PDVR5SfETXJple7WM35bWfbxA03Co3Y6IzNmZW172q14i7pP8rQNPGnrOpfxUSqAcdzxbnQQMg4-po1V6dWym0NOgp-7xIGa3WDcWW5c3xOL4

Waiting is the most common waste in manufacturing. In manufacturing, it is essentially waiting for people, equipment, materials, and information to arrive.  As a result, people or processes must wait until the next step is ready.

 

The following are some examples of waiting in software testing and how to reduce them:

WAITING

HOW TO REDUCE? 

  1. Waiting for the manager's approval, reviews, or decision to continue the work.
  • Establish response time SLAs (e.g., how quickly test cases or PRs need to be reviewed).
 
  • Coach your teams to be self-organizing
  1. Downtime of the testing environment.
  • Set up monitoring and alerting for testing environments 
 
  • Treat testing environments just like the production environment, define SLA for test environment uptimes.
 
  • Start measuring the downtimes and have goals to improve the same. 
  1. Delays caused by cross-team dependencies. 

 
  • Such dependencies should be identified, planned, and communicated during the planning phases.  
 
  • Eliminate hand-offs, wherever possible
  1. Waiting for a dependent service/component to start testing/automating. 
  • Possible solutions include mocking, stubbing, and service virtualization.
  1. Slow CI/CD pipelines 


 
  • Optimize your automated tests: Consider whether the test is necessary. Get rid of your outdated automated tests. 
  • Increase parallelization

  1. Testing is waiting to begin only once the requirements are complete
  1. Waiting for someone to respond to your email/message
  • Stop Writing and Start Talking: Face-to-face conversation is the most effective method of conveying information.

 

5. TRANSPORTATION

oN9r-c8x-hw9AqhwZhB1gqvYoeIEInFqrvLycm3BsVUtQUIwEZE25x-loWvsNcOAh9jisleD00NO9d9mQ2VHUPvSE_iGiD7U3U7ElJmHKpTJFZJNRrvq9SapIYiaXVwW2qZomFKlUjSiG_Z_D0Z5cwQ

Not all transportation is waste. Unnecessary movement of the product, raw materials, or information is considered waste in lean. Transportation increases expenses, wastes time, and increase the risk of product damage or loss without adding value to the customer. In software development, transportation can be equated to ‘Handoffs’. Handoff means transferring responsibilities/ownership/information from one entity to another. Typically, they are considered wasteful because one team or individual needs to wait for another to complete a task before getting started due to Sequential development activities. E.g., the handoff of designs from designer to developer, the handoff from developer to testers, tester to devops engineer, etc.

 

Here on some of the relevant examples of transportation waste and ways how to reduce it

 

TRANSPORTATION

HOW TO REDUCE? 

  1. Handoffs
  • When eliminating handoffs seems complicated, reduce them first. The fewer handoffs, the better. 
 
  • Break down silos. Build cross-functional teams that have all the necessary skills to accomplish their work without depending on other teams. E.g., A single team consisting of product, design, developers, testers, SRE, etc.
 
  • As a tester, do more than testing and add more value to your teams by developing skills to be able to work on multiple aspects of software development. 
  1. Back and forth of bugs between testers and developers due to poor bug reports. 
  • Master the art of writing high-quality bug reports with all the technical information a developer needs.

 

6. MOTION

PwCRJa0mIBPXLoiGAf--px_klmVAPAuTMEptYKHYMzLWUICNauJbgx-wHJG02hzU-O0E6wHwQ_Pmw3MtNEPWQkyVKHLC01AovuUm57eBcV11AbeRJ3_-B_7E6VQxWfxafRzbXAAcDRW48ifj8vkS_tw



 

Motion refers to the excessive or unnecessary movement of employees or equipment. In transportation, waste is primarily caused by the movement of the product. In motion, waste is caused by the unnecessary movement of people.

 

For instance,  a poorly organized factory layout where tools and parts needed to complete a specific task are located in the wrong places. Such a setup forces workers to walk back and forth to use a piece of equipment. Therefore  wasting time and effort and slowing down the process.
 

MOTION 

HOW TO REDUCE? 

  1. Multitasking/Working on multiple projects at the same time
  • Avoid assigning the same tester to work on multiple projects simultaneously. 
  1. Task switching/Context switching - Team members switch between tasks without completing the first one correctly, interrupting ongoing work.
  • Minimize distractions for your testing team. 
  • Say “NO” to unplanned and ad hoc tasks.
  • In case your team needs to handle interruptions and set up an on-call schedule. 
  1. Tester’s searching for required knowledge. 
  • Ensure every tester has access to the knowledge base(Wiki) they need to complete their work. 
  1. Technology sprawl: Switching between multiple tools to get a job done. E.g., Different tools for bug reporting, test case management, etc.
  • It is best to use one tool for all of your testing operations. If it’s not feasible.  Find ways to integrate your tools with your primary project management tool. 

 

7. DEFECTS

37XcC-A8w9YxZR35g3HFPexHVkI4vH3q-y9kCOzwglCpwEplD0-rgxYGPxsWJ_11cOv4A4EcP76FUCJbHLklvWf1N58LoKmTf5oX4blul5Zwrpy-emAn-Pg0UtFi1LTS58OLwFwQ752tQ6lasuhcdRI

Defects cause manufacturers significant time and money to repair.  Software defects are similar to manufacturing defects. Defects are inevitable in software development because of their complexity. The problem is defects lower the software quality and negatively impact the end user. The cost of finding the bugs is expensive.

Furthermore, defects lead to rework, which wastes time and effort. 

 

Defects can be reduced in several ways, making an article of its own. The following are a few ways to do so:

  • MAKE TESTING THE ENTIRE TEAM RESPONSIBILITY - The responsibility for quality lies with everyone in the team, not just with the tester. Closing the gap between testing and coding.

 

  • BUILD QUALITY IN -  Testing throughout the software development life cycle performs testing only at the end. Build quality into everything you do. Quality is built-in rather than added later. Test from the earliest possible stage of software development and integrate quality into every step of the development cycle.  Embrace good practices like Unit testing, Test-Driven-Development(TDD), Behavior-Driven Development (BDD), Automated checks, CI/CD, Pair testing, etc. 

 

8. UNUSED TALENT 

I5fhJ2yEcvNEKz_h8AaQohfcmkHCvx_JNk7VudV1K43WSGXxQjZWRAYlcEeNRpK-6jp8nYJ7z9L6wfwLWxw4lNcNu1ydzWm1yeBtZu4GdpD6okwpwrCaPIuwMCVtCNVLUlmIdnd11ne1DSuKHndn57E

In manufacturing, unused talent refers to wasted employee talent and creativity. Employees' creativity and skills are wasted when they are not utilized fully. Unused talent is often overlooked behind more visible waste.

 

NON-UTILIZED TALENT 

HOW TO REDUCE? 

  1. Failing to upskill your team
  • Take the time to understand your team's interests and personal learning goals
 
  • Set up opportunities for training and  growth to empower the team. Furthermore, this will reveal several undiscovered talents and help acquire new skills.
 
  • Encourage your team to read books, attend conferences, etc.
  1. Only letting SMEs solve problems, not listening to input from others.

 
  • Keep an open mind to everyone's ideas. Leaders often fail to realize the talent and creativity their team possesses. 
 
  • As a leader, build a culture that recognizes your employees' strengths.
 
  • Develop your team by encouraging them to share and implement their ideas. An organization that utilizes the tester's skills and creativity to keep them engaged and satisfied.
  1. Assigning inappropriate tasks to testers wastes their talent.
 

E.g., Assigning data entry or customer support responsibilities for testers.

 

  

  • Identify the right people for the jobs.
 

Taking on more responsibilities as a tester is a good thing. However, it’s a waste of work that is underutilizing and inappropriate for your skills. 

 

CONCLUSION

You don't have to remember these eight categories of waste. In the end, waste is waste, regardless of its category. The important thing is to recognize waste in the workplace and eliminate it.  Getting rid of waste is a continuous process, not a one-time task.

 

During your next testing cycle, determine whether the activities, processes, practices, tools, etc., you and your adopt add value to your customers. Next time you have a sprint retrospective, discuss the wastes you identified. Find the root causes for the waste, and explore possible solutions with your team. Get rid of the things that add no or little value. 

 

GO AHEAD…MAXIMIZE VALUE AND MINIMIZE WASTE!

DO A GREAT JOB AT TESTING.

 

IMAGE CREDITS - HTTPS://STORYSET.COM/

Did this topic help you find an answer to your question?

1 reply

Ramanan
Forum|alt.badge.img+5
  • Ace Pilot
  • 212 replies
  • October 30, 2024
Prashant Hegde wrote:

The manufacturing industry has inspired many software development ideas and processes. A good example is the lean manufacturing philosophy that originated in the Japanese manufacturing industry. In the years following the agile manifesto, lean thinking began to gain prominence in software development. Agile software development has embraced several lean concepts. Lean encourages you to focus on the things that add value by eliminating the eight wastes. 

 

WHAT IS LEAN?

Toyota production systems developed the idea of lean manufacturing in the 1940s.

Lean manufacturing is a philosophy that focuses on maximizing productivity and minimizing waste. Lean is all about “doing more with less.”  It is about focusing your energy on creating customer value.

 

Waste is anything that doesn’t add value to the customers. It's anything a customer wouldn't like paying for. Waste is any activity that uses resources but does not add value to the customer. Lean is a systematic process of reducing waste (called "Muda" in Japanese). The key to delivering customer value is to identify and remove waste. 

 

In this article, we will explore the eight wastes of lean applied to software testing and how they can be eliminated. 

 

1. INVENTORY 

AIqYR1hS6-cCIraEAej_kQe9jLmG1UDUdzeUUATGP5QHtSgfPF6QIZHKPHpYNUnnqGWv0cfOdw5lrTUVh0dtbTYl0CVPF_xExRXj9wLcDcNHhScLFClRLff1mN5TDL8pc_H8XGAHmLPpxfIq5LM8IOo

Inventory means the material needed to manufacture a product that is kept in stock. More inventories can slow down a business. Overstocking can result in longer lead times, damage to goods, and higher storage costs. Since inventory has associated holding costs, it is considered waste. In software testing, inventory represents partially completed work. Some examples are shared below:

 

INVENTORY

HOW TO REDUCE? 

  1. Unreleased code to production. 

E.g., 1. Services on the backend are ready, but the front end needs to be developed.

 

E.g., 2 The code is ready, but testing still needs to be completed.  



 
  • Educate your team that unfinished work does not add value to the customer. The moment the software reaches the customer, the true value is delivered. Deliver Maximum value to your customers through your iterations. 
  1. Technical debt: caused by choosing an easy solution instead of an optimal one. Cutting corners for accelerated software delivery often results in technical debt.
  • Find the right balance between speed and quality
  • Identify and create a plan to resolve tech debt.
  • Regularly refactor the code. Ensure it's a continuous process. 
  1. Dead code:  code that never executes at run-time.
  • Detect unused code, and remove unused and unnecessary libraries. Modern IDEs and static code analyzers can detect and remove such code from both automation and production.

 

 

2. OVERPRODUCTION

DCdO-v9ZikO7wi_Zjzq-IZe1vMr2LuXr_hS_z6jBItM5LGJrFKfO0rzlQA1pOMXWN_mlE-q83CCi2ydE6pA8_PBSyb9PAyWzcqMUqGNN26R_4JKK_bFGI-BGz1O307x1NTE3KeEYUSCEYlgWu29_O0U

Overproduction is producing more products than are needed.

Overproduction leads to waste as it produces more products than your customer requires. It results in storage problems and an inability to meet customer demands.

 

In software development, extra features are a form of overproduction. Organizations are constantly adding new product features to gain a competitive edge. Adding features does not always make a product better. Customers only use some of your software's features. 80 percent of customers roughly only use 20 percent of the features in your product. There are many features that customers pay for that they don't use. It is important to know what features your customer's value.

 

4tyFCjlN35Uyj9RDDRk--S8-groKCaKuoh4E20wykgXbfP20AQZX7CVsUbI7IPp-jIjY1ekl4OVTMVk8f4P-Qi76dZi1bF7UkE-j-alUtN9JKl_c0KlKdzAOjro-plLrQQ7cx5h4wlx3VXuZTJvpYCs

V9mx4_hMUDqLvBJKuqdKlajyU5HwU_r0Va6-T15tcrQsy2PzQLKnjAdzt5DHvUAzsFfS-zjMYXxNtGmzJaYBiRFY_BjFRwkV5ozWeitgK5Ns2zjSGZHjc4EUp2CoqyDmveXb2IfRnAgSU5bkMhhojH8

Chinese app developers feel their consumers are attracted to a chaotic bazaar experience. However, this is different for the rest of the world.  

 

Your customers will not appreciate excessive features, as they can find your product more complicated and frustrating. In addition, it makes it harder to maintain for the Development teams. In addition, development teams find it cumbersome and time-consuming to maintain these features

.

 

HOW TO AVOID OVERPRODUCTION?

 

  • TAKE THE MINIMUM VIABLE PRODUCT (MVP) APPROACH - Launch your product with only the essential features that will attract early adopters. Take an iterative approach that eliminates waste by validating a product idea.
     
  • BE THE DEVIL'S ADVOCATE - As a tester, play the devil's advocate when requesting changes. Fulfilling customer needs are essential. However, you don't build something just because of one customer's request or suggestion. Consider whether the new feature will add value to a broader segment of users and whether there is a long-term vision for it. Never hesitate to question and debate with your product managers.

 

3. OVERPROCESSING

vYzvbg0Z1KsEZA9nB_GeHVX-dck42dBrsn5yazwvwowJ_t_JpHtZeyYkJTt5fnN3ggAyf8LQhjhks7FXiHUHJsuAG-GXIKFbQrPEtE0XhWsWpib0l3_xxZUv7u_i3cEbXS_Fc0X5EJDTfrbdnT5r1dc

Overprocessing is putting more work than required into producing the product. Adding extra steps with no added value is a waste. Overprocessing wastes money, time, and resources. Here are some examples from software testing:

OVERPROCESSING

HOW TO REDUCE? 

1.  An excessive amount of test documentation, such as overly extensive test cases, huge test plans following IEEE format, etc.,

 
  • Recognize that testing does not necessarily require test cases. Learn and practice exploratory testing

2. Overengineering your test          automation.


 

Wasting time reinventing the wheel with test automation frameworks.

  • Have a clear goal for your test automation efforts. Decide whether automating something is beneficial and worth the investment. 
 
  • Leverage powerful free test automation platforms like TestProject

3. Testing unwanted(too many) features during regression testing.  



 
  • With limited time and finite resources, it is impossible to test infinite test conditions and combinations
 
  • Embrace Risk-based testing - prioritize tests based on the likelihood of risks to maximize the effectiveness of your testing.

4. Repetitive testing, testing the same thing again and again every cycle.

  • Obvious solution is to automate your repetitive tasks TestProject

5. Unnecessary meetings

  • Analyze your existing meeting.
  • Start saying “NO” to the meeting with no clear purpose or agenda.
  • If you don't add value to the meeting, skip it. 
  • Block time on your calendar for focused work. 

  • Only hold meetings for important decisions, brainstorming, 1-on-1s, kickoffs, and discussions that matter.
  • Propose a “No Meetings” Day in your organization

 

4. WAITING

0xj8laWcFwY4dZYvp_qk_UvCJtPoR0IsH-oTOqigQ8PDVR5SfETXJple7WM35bWfbxA03Co3Y6IzNmZW172q14i7pP8rQNPGnrOpfxUSqAcdzxbnQQMg4-po1V6dWym0NOgp-7xIGa3WDcWW5c3xOL4

Waiting is the most common waste in manufacturing. In manufacturing, it is essentially waiting for people, equipment, materials, and information to arrive.  As a result, people or processes must wait until the next step is ready.

 

The following are some examples of waiting in software testing and how to reduce them:

WAITING

HOW TO REDUCE? 

  1. Waiting for the manager's approval, reviews, or decision to continue the work.
  • Establish response time SLAs (e.g., how quickly test cases or PRs need to be reviewed).
 
  • Coach your teams to be self-organizing
  1. Downtime of the testing environment.
  • Set up monitoring and alerting for testing environments 
 
  • Treat testing environments just like the production environment, define SLA for test environment uptimes.
 
  • Start measuring the downtimes and have goals to improve the same. 
  1. Delays caused by cross-team dependencies. 

 
  • Such dependencies should be identified, planned, and communicated during the planning phases.  
 
  • Eliminate hand-offs, wherever possible
  1. Waiting for a dependent service/component to start testing/automating. 
  • Possible solutions include mocking, stubbing, and service virtualization.
  1. Slow CI/CD pipelines 


 
  • Optimize your automated tests: Consider whether the test is necessary. Get rid of your outdated automated tests. 
  • Increase parallelization

  1. Testing is waiting to begin only once the requirements are complete
  1. Waiting for someone to respond to your email/message
  • Stop Writing and Start Talking: Face-to-face conversation is the most effective method of conveying information.

 

5. TRANSPORTATION

oN9r-c8x-hw9AqhwZhB1gqvYoeIEInFqrvLycm3BsVUtQUIwEZE25x-loWvsNcOAh9jisleD00NO9d9mQ2VHUPvSE_iGiD7U3U7ElJmHKpTJFZJNRrvq9SapIYiaXVwW2qZomFKlUjSiG_Z_D0Z5cwQ

Not all transportation is waste. Unnecessary movement of the product, raw materials, or information is considered waste in lean. Transportation increases expenses, wastes time, and increase the risk of product damage or loss without adding value to the customer. In software development, transportation can be equated to ‘Handoffs’. Handoff means transferring responsibilities/ownership/information from one entity to another. Typically, they are considered wasteful because one team or individual needs to wait for another to complete a task before getting started due to Sequential development activities. E.g., the handoff of designs from designer to developer, the handoff from developer to testers, tester to devops engineer, etc.

 

Here on some of the relevant examples of transportation waste and ways how to reduce it

 

TRANSPORTATION

HOW TO REDUCE? 

  1. Handoffs
  • When eliminating handoffs seems complicated, reduce them first. The fewer handoffs, the better. 
 
  • Break down silos. Build cross-functional teams that have all the necessary skills to accomplish their work without depending on other teams. E.g., A single team consisting of product, design, developers, testers, SRE, etc.
 
  • As a tester, do more than testing and add more value to your teams by developing skills to be able to work on multiple aspects of software development. 
  1. Back and forth of bugs between testers and developers due to poor bug reports. 
  • Master the art of writing high-quality bug reports with all the technical information a developer needs.

 

6. MOTION

PwCRJa0mIBPXLoiGAf--px_klmVAPAuTMEptYKHYMzLWUICNauJbgx-wHJG02hzU-O0E6wHwQ_Pmw3MtNEPWQkyVKHLC01AovuUm57eBcV11AbeRJ3_-B_7E6VQxWfxafRzbXAAcDRW48ifj8vkS_tw



 

Motion refers to the excessive or unnecessary movement of employees or equipment. In transportation, waste is primarily caused by the movement of the product. In motion, waste is caused by the unnecessary movement of people.

 

For instance,  a poorly organized factory layout where tools and parts needed to complete a specific task are located in the wrong places. Such a setup forces workers to walk back and forth to use a piece of equipment. Therefore  wasting time and effort and slowing down the process.
 

MOTION 

HOW TO REDUCE? 

  1. Multitasking/Working on multiple projects at the same time
  • Avoid assigning the same tester to work on multiple projects simultaneously. 
  1. Task switching/Context switching - Team members switch between tasks without completing the first one correctly, interrupting ongoing work.
  • Minimize distractions for your testing team. 
  • Say “NO” to unplanned and ad hoc tasks.
  • In case your team needs to handle interruptions and set up an on-call schedule. 
  1. Tester’s searching for required knowledge. 
  • Ensure every tester has access to the knowledge base(Wiki) they need to complete their work. 
  1. Technology sprawl: Switching between multiple tools to get a job done. E.g., Different tools for bug reporting, test case management, etc.
  • It is best to use one tool for all of your testing operations. If it’s not feasible.  Find ways to integrate your tools with your primary project management tool. 

 

7. DEFECTS

37XcC-A8w9YxZR35g3HFPexHVkI4vH3q-y9kCOzwglCpwEplD0-rgxYGPxsWJ_11cOv4A4EcP76FUCJbHLklvWf1N58LoKmTf5oX4blul5Zwrpy-emAn-Pg0UtFi1LTS58OLwFwQ752tQ6lasuhcdRI

Defects cause manufacturers significant time and money to repair.  Software defects are similar to manufacturing defects. Defects are inevitable in software development because of their complexity. The problem is defects lower the software quality and negatively impact the end user. The cost of finding the bugs is expensive.

Furthermore, defects lead to rework, which wastes time and effort. 

 

Defects can be reduced in several ways, making an article of its own. The following are a few ways to do so:

  • MAKE TESTING THE ENTIRE TEAM RESPONSIBILITY - The responsibility for quality lies with everyone in the team, not just with the tester. Closing the gap between testing and coding.

 

  • BUILD QUALITY IN -  Testing throughout the software development life cycle performs testing only at the end. Build quality into everything you do. Quality is built-in rather than added later. Test from the earliest possible stage of software development and integrate quality into every step of the development cycle.  Embrace good practices like Unit testing, Test-Driven-Development(TDD), Behavior-Driven Development (BDD), Automated checks, CI/CD, Pair testing, etc. 

 

8. UNUSED TALENT 

I5fhJ2yEcvNEKz_h8AaQohfcmkHCvx_JNk7VudV1K43WSGXxQjZWRAYlcEeNRpK-6jp8nYJ7z9L6wfwLWxw4lNcNu1ydzWm1yeBtZu4GdpD6okwpwrCaPIuwMCVtCNVLUlmIdnd11ne1DSuKHndn57E

In manufacturing, unused talent refers to wasted employee talent and creativity. Employees' creativity and skills are wasted when they are not utilized fully. Unused talent is often overlooked behind more visible waste.

 

NON-UTILIZED TALENT 

HOW TO REDUCE? 

  1. Failing to upskill your team
  • Take the time to understand your team's interests and personal learning goals
 
  • Set up opportunities for training and  growth to empower the team. Furthermore, this will reveal several undiscovered talents and help acquire new skills.
 
  • Encourage your team to read books, attend conferences, etc.
  1. Only letting SMEs solve problems, not listening to input from others.

 
  • Keep an open mind to everyone's ideas. Leaders often fail to realize the talent and creativity their team possesses. 
 
  • As a leader, build a culture that recognizes your employees' strengths.
 
  • Develop your team by encouraging them to share and implement their ideas. An organization that utilizes the tester's skills and creativity to keep them engaged and satisfied.
  1. Assigning inappropriate tasks to testers wastes their talent.
 

E.g., Assigning data entry or customer support responsibilities for testers.

 

  

  • Identify the right people for the jobs.
 

Taking on more responsibilities as a tester is a good thing. However, it’s a waste of work that is underutilizing and inappropriate for your skills. 

 

CONCLUSION

You don't have to remember these eight categories of waste. In the end, waste is waste, regardless of its category. The important thing is to recognize waste in the workplace and eliminate it.  Getting rid of waste is a continuous process, not a one-time task.

 

During your next testing cycle, determine whether the activities, processes, practices, tools, etc., you and your adopt add value to your customers. Next time you have a sprint retrospective, discuss the wastes you identified. Find the root causes for the waste, and explore possible solutions with your team. Get rid of the things that add no or little value. 

 

GO AHEAD…MAXIMIZE VALUE AND MINIMIZE WASTE!

DO A GREAT JOB AT TESTING.

 

IMAGE CREDITS - HTTPS://STORYSET.COM/

@Prashant Hegde Thank you for the insightful exploration of Lean principles applied to software testing! It’s compelling to see how Lean, originally rooted in manufacturing, has evolved into a guiding philosophy for optimizing software processes. By identifying and reducing the "eight wastes" in testing, teams can achieve greater efficiency and focus on delivering customer value—qualities that Lean truly embodies. This breakdown provides actionable steps to tackle issues like inventory and overproduction waste in testing, fostering an environment where value flows directly to the customer. Embracing Lean’s iterative improvement aligns perfectly with Agile values and enhances every testing cycle. Great read, and thank you for the practical examples!


Reply