Problem solving, like sandwich making, is a process. Occasionally that process can be painful (hopefully that isn't true when you make a sandwich), but thankfully many techniques exist to make problem solving easier. This post discusses one of my favorites: changing the level of abstraction. Here the level of abstraction just means how many details are included; fewer details would mean a higher level of abstraction. Adding more details or taking some away can lead to opportunities and angles you may not have seen before.
Let's make a sandwich
Here are some high-level steps to make a peanut butter and jelly sandwich:
Place two pieces of bread on a table
Put peanut butter on one side
Put jelly on the other side
Put each side together
It's difficult to be any more high-level when describing the process without losing important information. You can think of this as the highest, useful level of abstraction. A higher level of abstraction might be "make a peanut butter and jelly sandwich", a much less useful starting point when attempting to make this type of sandwich better. As you travel to lower levels of abstraction, you increase the amount of information and usually don't exert that much extra effort to get there:
Walk to the cupboard
Grab the bread
Walk to the table
Place the bread on the table
Open the bread package
Take two pieces of bread out of the package
Place two pieces of bread on the table
...and so on...
The first six steps of the lower-level process are implicitly included in the first step of the high-level process. Now, we've uncovered additional areas that can be improved. It's a trivial change, mind you, but it becomes much more beneficial as the complexity increases. As an analogy, you're more likely to find a place to hang your hat when you have more hooks available.
Let's make a more specific sandwich
Your questions about process improvement can now be more specific. The question: "How can we be more efficient when placing two pieces of bread on a table?" now transforms into several questions: "How can we more efficiently walk between the cupboard and the table?", "How can we more efficiently remove bread from the package?", and so on. The answers you may reach when only looking at the high-level process may focus on the speed of your hands or changing the height of the table. While these may end up being actions you take, it's likely that you'd miss faster, simpler, or cheaper solutions because you're trying to solve the problem at an inappropriate level of detail.
Thanks for reading! We've added a nice tool to our problem solving toolshed: changing the level of abstraction. I'd love to hear if you use this technique and anything you learn when you apply it to your life. In the next post, I'll dig into another technique for problem solving: using situational questions, stay tuned!
Cultivating your problem solving skills will continue to serve your throughout your life. Add your name to the Plant mailing list to get more tips, techniques, and ideas delivered straight to your inbox.