In a series of posts on problem-solving, I will be sharing my personal approach to finding and evaluating solutions. At times, I may also evaluate other methods or draw from other resources, in which case references will be cited at the end of the post. This is the fourth post in the series.
In the previous three posts, I outlined how to clearly define the problem, identify constraints on the solution and then brainstorm possible solutions. The next step is to evaluate the solutions that were generated during the brainstorming process.
This, in theory, should be the easiest step. We’ve already defined all the constraints and brainstormed several solutions. All we need to do now is to evaluate each solution as follows:
- Does it actually solve the problem?
- Does it meet all of the constraints?
First, rule out any solutions that don’t actually solve the problem. Now is the time to be critical. It is very easy to get distracted by good ideas that are tangential to solving your problem. This is where clearly defining the problem is very helpful. For each solution, ask yourself, does this solution make the problem go away. If the answer is no, rule it out. It doesn’t mean it’s not a good idea. You may still want to do it. But it does mean it is not a good solution and you have not yet solved your problem.
For the second question, does it meet all the constraints, don’t rule out a solution if the answer is no. Instead, for each solution, give it a score based on how many constraints it meets. If all constraints have equal weight, just count how many constraints it meets and use that as the solution’s score. If some constraints are more important than others, then count those constraints multiple times (according to their weight), when scoring each solution.
After you have scored each solution, first check to see if you have any solutions that meet all of your constraints. If so, then focus on just those solutions. Rule out any solution that does not meet all of your constraints. At this point, someone might be emotionally tied to a solution that is being ruled out. This may leed to another discussion about the importance of each constraint. That is okay. It is always good to question the constraints. But be sure to discuss the value of the constraints, not the value of the solution that is being ruled out.
If you have multiple solutions that meet your constraints, congratulations!. But you aren’t done yet. If you are having a hard time identifying which of your perfect solutions is the right solution, then odds are, you haven’t identified all of your constraints. If people are still making passionate arguments for one solution over another and you are not coming to agreement, then dive in and look for more constraints. Don’t argue over specific solutions. Instead, discuss the importance of new constraints.
If you have no solutions that meet all of the constraints, you have a couple of options. You can either reevaluate your constraints or you can continue to brainstorm solutions. The key here is, are you willing to compromise on your constraints. If you are, make sure it’s for a good reason. Often times you can compromise on your constraints by finding another way to meet that need. But don’t compromise on a constraint just becuse you haven’t found the right solution. Nobody will be satisfied and the problem will keep rearing its head. Instead, go back to brainstorming.
If you stick to this method:
- Define the problem
- Identify the Constraints
- Brainstorm Solutions
- Evaluate Solutions
and iterate on each step as needed, you may not always find the perfect solution, but you’ll spend far less time arguing over inadequate solutions.