I’ve touched on the idea of brainstorming previously, but today I wanted to address it specifically. The simplest way to describe brainstorming is that it is the act of generating as many options as possible, relevant to a particular situation, in a reasonably short amount of time. While brainstorming may primarily be associated with possible feature or solutions, it can actually be applied to any aspect of any problem in any phase of its evolution. it is certainly applicable to all the possible phases of a problem in the framework I have defined.
That is, you can use this technique to help plan a project, define the problem, simplify the problem, source data and methods for collecting it, define requirements, propose solutions, figure out modes of implementation and testing, and determine how to deliver and deploy.
Brainstorming can be greatly aided by getting many different people involved that have may different types of experience and points of view. That is one specific way of looking at a situation from as many viewpoints as possible, but there are other ways.
Many formalized techniques are actually methodologies that guide you through a process of brainstorming by explicitly describing perspectives you should look from. UML is a classic example of this, but the approaches in every management and analytical approach does something similar. As I point out endlessly, every approach has its shortcomings and no approach will always work if applied by rote. At some point you must actually understand a problem in your gut and apply the art of analysis and insight along with the science.
One other form of forcing yourself to look at a problem from many perspective is to identify every combination and permutation of options you can identify. For example, if you have five different parameters each of which have four different possible options you end up with 4^5 or 1024 different combinations to explore.
Another way to ensure you consider a wide variety of options is to think of a problem as and equation, and then consider what happens when you modify every variable in that equation up or down, and the reasons why each variable may be modified.
A lot of poor analyses come from not considering some variables and some directions of change. This is often done on purpose (especially for discussions of political subjects) if some participants want to steer the conversation in directions that benefit them. Henry Hazlitt’s classic book Economics In One Lesson talks over and over again about how all of the downstream effects of an action must be considered, not just the obvious ones someone might want you to see. This type of analysis will force participants to consider more of the causes and effects, inputs and outputs, and opportunity costs for various courses of action. Another classic work in the economics literature is Frédéric Bastiat’s 1850 essay That Which is Seen, and That Which is Not Seen.
I wrote at least one additional article about being thorough here. This isn’t strictly about brainstorming per se, but it does involve considering more options than you might have originally planned to, and that is a close cousin to the topic.
If you have any thoughts you’d like to add on this subject I’d love to hear them.