During the testing life cycle, how often do you feel that a situation or activity was a waste of time? It could have been time lost in waiting for a prepared test environment or for a critical defect to be fixed or for an environment to be configured. There are many situations where we can make the process more efficient, by eliminating "waste.”
Anything that does not add value to testing is “waste.” Such activities do not create value for customers.
Waste can mean so many things—environment downtime, duplicate testing efforts, poor QA planning, a high number of defects, etc. The software testing cycle can frequently contain inefficiencies. But incorporating lean thinking and Kaizen into the testing process can help find and eliminate waste, making the development cycle more efficient.
How can you use lean to remove waste from your software testing cycle? Let’s find out!
Principles and common defects of the lean testing process
Creating a lean testing process starts with discovering waste in the current testing life cycle and eliminating or minimizing them. Here are five common lean principles (source - Principles of Lean):
- Specify the value from the end customer’s perspective, based on the product family.
- Identify the steps in the value stream for each product family, eliminating any steps that do not create value.
- Ensure that value-creating steps occur in a tight sequence so that the product flows smoothly toward the customer.
- After introducing the flow, let customers pull value from the next upstream activity.
- When the value is specified, value streams identified, wasted steps removed, and flow and pull introduced, start the process again and continue until you reach a state of perfection where the perfect value is created with no waste.
The most common waste in the software testing life cycle are as follows:
- Environment downtime
- Rework due to defect fixes and wrong test cases
- Inefficient utilization of resources – frequent task switching
- Testing of unwarranted features
- Improper staffing with incorrect skills
Analyze all the waste carefully and implement plans to reduce them. For example, one way to minimize defects is to find them earlier in the software testing life cycle. To reduce defect-related waste, test as soon as possible. This is called the Shift Left testing approach. The next question is:
How can we get to Lean QA? What steps must be taken to reduce waste
Steps to reduce waste with lean QA
As you start with lean QA, carefully identify and analyze waste in the software testing life cycle. You must also consider people aspects, like the level of proactiveness exhibited by quality engineering colleagues. Find out if most of your team members wait for instructions or if they are self-motivated and can assist you in forming your ideal process. In an ideal process, test engineers add intelligence to their work, engage in critical thinking, and scrutinize the application during testing.
- Next, we need to set up small “thought leader” groups consisting of team members and other project stakeholders. These groups can identify if issues are process-oriented, people-oriented, or both. Ask yourself: Does your team perform a lot of task switching, leading to confusion and productivity loss?
- Are there situations where task ownership and delivery timelines are unclear? Do you have proper backup for team members?
- Are you making sufficient use of test automation to more efficiently complete repeated tasks and test cases?
Implement test automation and use a test pyramid approach to maximize efficiency and minimize any overhead linked to manual efforts of repeated testing tasks.
Another critical step in implementing lean QA is to collect metrics and quantitatively measure quality. Look at the trends and take corrective action where required. For example, defect rejection rate (the percentage of defects rejected) could be one important metric. Every rejected defect is a waste. Similarly, the frequency of environment downtime could be another important metric. Identify all necessary project metrics and track them. It is essential to make improvements during the process itself instead of reflecting only after project completes and metrics have been analyzed.
The next aspect is to focus on processes that impact testing procedures. For example, often the environment downtime might not be linked directly to QA. Maybe the code merge did not work, deployment pipeline had issues, or the unit test did not happen. Any of these can lead to critical defects, bring the environment down, and create process waste. Lean QA can help improve such issues. Ask developers to unit test the code before deployment.
The job of quality engineers is to add intelligence and critical thinking to the testing life cycle. By implementing lean QA, quality engineers can focus on what matters most for the business. Lean QA helps remove unnecessary tasks from the testing life cycle that do not add value to the customer.
At Nagarro, we perform digital QA, adapting to evolving technologies and processes. Our PROVEN™ testing methodology delivers maximum business value, as per global testing standards.
Software development is innovating every day. To stay ahead, you need to step up your QA game. Do you want to adapt to new QA technologies? Explore our quality and test engineering offerings and get in touch with our QA experts!