Quality Assurance is perceived as an extra, as overhead and generally, a cost center. To some extent, this is true. It is an investment in the long term and quality of your product or service in where the value can come back to you in any number of ways and most are not immediate or instant. Let’s take a look at applying LEAN principles to QA and see if we can improve it just a little.
What actually is LEAN?
LEAN is a strategy for reducing cycle time through waste elimination. Cycle time is the lapsed time from the start of a process to the end of the process, for example in manufacturing Machine Cycle Time and Worker Cycle Time. In Software QA we may be able to consider each inspection station or stop can be considered a smaller cycle of the entire testing process or cycle, for example, performance testing is one cycle. What is waste in this context? Waste refers to all activities that extend the cycle time but do not add value. The objective of Lean is to reduce the cycle time by eliminating the waste also known as non-value added activities. Any process or operation that takes time, resources or space but does not add value to the product or service is waste.
They typical examples of waste are:
- Defective Products
- Unused Creativity
Let’s take a look at a sample QA process and see if any of those fit or if there are some others hidden. The development team completes and releases an application to QA for testing. In this package release, QA expects to find business requirements, release notes, code, and repository information. If any of these items is missing, defective or incomplete, we have waste.
But whose waste is it?
Technically, the product is in the hands of QA. Is it a “QA problem”? No, but it looks that way to the project managers, business and customers as the problem was uncovered in QA, so they are ‘holding up the show’. This appears to be two examples of waste: defective product and waiting for QA, when in reality, it is one issue – QA did not get what they needed to perform their task in the cycle. This is where the waters get muddy in false perceptions. It is important to clearly understand where the waste is coming from before trying to improve it. A good solution to eliminate this waste of time and resources might be to implement a release manager to be certain all the items required are passed along to QA.
All work is a process
All processes have opportunities for improvement, we just have to learn the process well enough to be able to find those opportunities. In order to improve a process we must first have confidence that the process is capable or performing. One of the best techniques for learning a process and finding the opportunities for improvement is Process Mapping to literally follow the item through the flow and documenting when changes occur, when it is waiting and when it makes “side trips” for inspection and rework. Having one or more subject matter experts at your side is a great benefit in this task. No special tools are needed to make a process map, however, there are quite a few available on the open source market that are beneficial from a record keeping perspective. Using a sheet of paper and a pencil to get you started is all I could suggest, when it comes time to review, go for Excel or a process mapping tool.
Process or work improvement
Traditionally, process improvement is started with the machine or tool in the process and engineering that tool to perform optimally. The thought behind this approach is that with good tools the workers are fitted with all they need to complete the process effectively and efficiently. While this is a good approach, and tools for the job are of paramount concern, it will generally only impact about 5% of the process. For example, we have software that is written to run on a dual core processor and we are building and testing it on a single core. We improve the system to a dual core, the code runs faster but still takes just as long at the beginning and the end of the process in wait time. So the improvement is about 5% of the process. How do we impact the other 95%? By following the process map and finding out why the code waits at the beginning and the end would be a great place to start.
What is the Value?
The object of LEAN is to work faster and more efficiently, to provide a greater return than just eliminating defects. How would you know? You take your process map and build a value stream to determine which part of your process holds what percentage of the overall value. Evaluate the major process steps and calculate the value add and non value add of each. This is also known as JIT or Just In Time. It is pretty common to learn that the positive impact is 10% or less. Much of the non value add may be found in wait time, which is an intangible we tend not to be able to visualize. This is a skill to develop that will serve you well in this endeavor – learning to see the wait or lost time.
If the issue in our example above could be resolved quickly, and the code could move faster at the beginning and the end it would give you a hard or green impact on your budget. An immediate savings! What if other items need to take place in order to get the code to the computer faster? These we would call dependencies and they would represent soft savings as other items need to be completed before this improvement could be realized in the bottom line.
The QA process must be capable of producing a good result, those capable processes must be optimized to eliminate waste to ensure products are delivered on time in order to be LEAN. A capable process that delivers late is of little use to the organization or your team. By using a good balance of tools and subject matter experts, improvement to the bottom line of your budget and the overall organization can be realized. Don’t be too eager for the fast hard savings and pass up those soft savings -they pay off in the long run and may even present more opportunities to improve.