Brainstorming is a technique to find conclusions for a specific problem.
Notice the bold keywords, they summarize perfectly the essence of what brainstorming is.
Now read them in reverse order, problem leads to conclusions which need a technique to brainstorm. How awesome is that?
To make things a tad more clear, let’s dig a bit deeper into each keyword.
Problem
There are problems all around you, from big to small. Identify some problems that you would need or like to solve.
Do it now, take some time, take 20 minutes and make a list of problems or things that you want to improve. When you are done, come back and we shall continue.
Welcome back! (If you actually did it, if not shame on you :))
Now that you have a list, prioritize the problems and find the one problem that you want to solve now.
Conclusions
Now you have a well-defined problem take some time to identify some solutions.
Just like before, do it know, take some time, take 20 minutes and make a list of possible solutions or different approaches or conclusions to your problem. When you are done, come back and we shall continue.
Welcome back!
Now again prioritize these conclusions and pick the one you feel strongly towards.
Technique
So now you have a problem and a conclusion and you need a technique.
Depending on what you want to solve you can pick different approaches. You need to find the steps to put your conclusion into practice. So do some research, find everything possible about you conclusions, ask questions, find answers, dig deeper until you fell you have exhausted all leads, then take a break and do it again.
If you take the time to do it and commit to the process, it’s impossible not to shed new light on your problem, it’s impossible not to find at least a half decent approach in solving your problem.
And if we are talking about software, you can take it a step further. You can prototype a solution, you can make a proof of concept.
Why is prototyping as an incredible tool for brainstorming? Because while prototyping, new ideas, I call them pivot ideas, seem to come out of nowhere. Well, it is not exactly from nowhere. A brain is an amazing tool that does a lot of associations in a background thread, processing all the data you have fed it.
So by prototyping, you feed the brain with a lot of new ideas which in turn gives you new ideas to prototype, new ideas that might solve your problem better, solve similar problems or completely new problems.
So the technique is play and research, for everyday problems and software projects alike.
Brainstorming
By playing, and researching the conclusion, you will find at least some answers concerning your problem, and whatever the outcome, you did something about it, the time was not wasted, you have learned at least one new thing, you might have even identified new problems and ideas to prototype.
So there you go, this is what brainstorming is about.
Lessons learned
Prototyping is a great tool for brainstorming. Test your ideas often and you will be amazed of how new ideas simply pop up seemingly out of nowhere.
If you actually want to achieve something you have to put in the time and effort. So make it a habit of putting aside at least 60 minutes per day (Why not? If you actually mean it!) to just brainstorm. I am sure the exercise will be fruitful and even fun, and who does not want to have fun?
If you ever feel stuck, do some brainstorming, you will soon be overwhelmed by the abundance of new ideas that come up. Just remember to fully commit to one and see where it takes you.