Jun
28
Problem Solving Techniques
June 28, 2007 | |
As testing professionals, we face problems nearly every day. A key testing resource becomes unavailable. The delivery date to test slips by 2 days, but the test dates remain frozen. Project management needs an assessment on project quality a day after the code reaches test. I could go on - but you get the picture.
In this post, I’ll discuss some common techniques for analyzing and identifying solutions - and also provide some links to additional information.
Assumption Analysis
List out all of your assumptions about the problem, and then analyze each of them. Are they all necessary? If it were possible to change one or more assumptions, would a solution to the problem exist? Check out Virtual Salt for more details on this approach.
Cause and Effect Diagrams
Cause and effect diagrams - also called Ishikawa diagrams (after Kaoru Ishikawa) or fishbone diagrams (due to their appearance) - allow you to analyze the causes of a particular problem. You begin by drawing a horizontal line that represents the problem. Then you draw a “spine”, or diagonal line to the left off from the main problem line, that represent factors of the problem. These factors might be systems, people, processes, policies, materials, etc… Then for each identified factor, drill down and draw a vertical line for each possible cause of that factor. Asking “why” is a great technique to uncover possible causes. You can then use additional techniques, like a Pareto chart, to get additional insight into the problem. There’s a good explanation and example at MindTools.
SWOT
SWOT analysis is a strategic analysis approach that analyzes strengths, weaknesses, opportunities, and threats. First - a business objective/desired end state is defined. Then, key strengths (assets/characteristics that can help meet the objective), weaknesses (attributes of the situation that hurt the objective), opportunities (external conditions that can help meet the objective), and threats (external conditions that can hurt the objective) are identified. These are usually visually represented in four quadrants on a single page. The key to using SWOT analysis effectively is to start with a business objective, and then make sure you properly segment out internal conditions (strengths and weaknesses) from external ones (opportunities and threats).
From a testing perspective, SWOT analysis can assist when making strategic decisions, such as whether or not to outsource a portion of the testing effort. There’s a very good article at Wikipedia and some templates over at Businessballs.com.
Affinity Diagrams
Affinity diagrams were developed by Jiro Kawakita and are also known by the KJ method. Affinity diagrams are a good method for organizing the problem space. This method is also good for driving consensus. The process involves writing down ideas on sticky notes during a brainstorming session. Then, without anyone talking, the group organizes all of the notes into related areas. After that, the group can talk again and should discuss the patterns that emerged and develop headings for each collection of notes. Essentially, affinity diagrams help you “chunk” the problem into more manageable pieces.
There is a very good description at ASQ and an Excel add-on available (for purchase) at BaRaN Systems (I haven’t tried this, but it looks interesting).
Risk Analysis
I’ve previously posted about risk identification from a testing perspective and I also have a template available for developing a risk management plan. Risk analysis is a great tool when trying to spend limited resources, since it forces you to identify, prioritize, and plan for risks. You can use this approach in conjunction with decision trees to help, for example, predict how long a test phase might be.
Check out MindTools for more information.
Brainstorming
No doubt you’ve heard of brainstorming - a technique where a group generates a large number of ideas to solve a problem. There are lots of different ways to do brainstorming, but most of the methods share four common traits:
- A focus on quantity
- No criticism
- Encouragement of “out of the box”/unusual ideas
- Combining and improving on generated ideas
I should note that many people argue that brainstorming generates lower quality ideas that a group working independently. You can head over to the University of North Carolina or Wikipedia for more reading.
Decision Matrix
A decision matrix can come in handy when trying to select from two or more alternative solutions. First - come up with dimensions that you want to use to assess the solution (e.g. cost, ease of implementation, effectiveness, etc…). Then weight each factor - it’s easier if you start off with a given total of points to use (say 100), and then allocate those across each factor based on their importance. Next, assess each solution against each factor - use a numeric scale (such as 1-10). Finally, produce a weighted score (solution’s score for a given factor * that factor’s weight) and sum the results. The solution with the higher score is the better solution. Look at this article on the ASQ website for more details.
There are plenty of other techniques, but hopefully this list will get you started. Check out MindTools and the American Society for Quality for more.

This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License.

