One of the first things people learn about optimizing software performance is that you have to figure out the limiting factor — if you’re maxing out the CPU, then increasing I/O performance won’t help, and vice versa. If CPU is the current limiting factor, then you are “CPU-bound”.
Using the same language, I’d like to suggest that there are times when development or research projects are “idea-bound”, and (more importantly) times when they’re not.
For example, if your current assignment is to make that affordable anti-gravity device, then you’re probably somewhat desperate for a new idea right about now. You’re not bound by materials cost, or labor, or purity of your reagents, or time in the observatory — what you need is an idea for a totally new approach. You are idea-bound.
In what I work on (making search engine results more relevant, and especially on defeating search engine spammers), we are not actually idea-bound. Ideas abound, in fact. What we _are_ bound by is time available to check out new ideas, to figure out which ideas are best to pursue now, to implement the ideas, and to test to see which ideas turned out to be worth it. (Or: investigation, prioritization, implementation, measurement.)
Thinking this through helped me figure out the reasons why I feel an obscure resentment when someone outside my group wants to “help” us by “brainstorming” about search engine spam.
Reason #1: we are not idea-bound, so new ideas don’t help as much as you would think.
Reason #2: new ideas add to the load of the things we _are_ bound by (investigation, prioritization, implementation, measurement).
Reason #3: unfortunately (despite Reasons 1 and 2), it is not acceptable to decline to hear new ideas, because there is some chance that the new idea will be better than any you currently have on the table (see Prioritization). And there’s always the risk that you think that you are not idea-bound, when you actually are… So ya betta listen. (And that means that the new list is: investigation, prioritization, implementation, measurement, listening.)
(Don’t get me wrong — this is all good. It’s great to work in an area where there are more cool ideas than you have sticks to shake at them, and enough growth that you can chase more ideas every quarter than you did the last… It really is nice work if you can get it. Really.)
But all this makes me feel as ambivalent about the word “brainstorming” as I already feel about the phrase “devil’s advocate”. Lately whenever I hear someone say “Can I just play devil’s advocate for a minute?”, my temptation is to see if I can shout “No!” before they have finished the sentence. Because the best translation of that question that I can come up with is: “Can I just momentarily abandon any obligation I might otherwise feel to make positive suggestions, and devote myself solely to criticizing the ideas of others?” Playing devil’s advocate is a great idea if you are critical-thinking-bound; if on the other hand, you are positive-suggestion-bound, then it’s a waste of time, and also a bummer.
When you are idea-bound, brainstorming is key; when you’re not, it’s still a good thing to do occasionally, like exercise, but you don’t want to let it get out of hand. So when someone says “Hey, I’m just brainstorming here!”, and what they really mean is “Hey, I’m hoping that you will endorse my decision to momentarily abandon any obligation that I might otherwise feel to only suggest ideas that are implementable, or realistic, or even, well, … good?”, then you should be very welcoming, if you are idea-bound. If you’re not idea-bound, you should be somewhat welcoming, with an eye on your watch.
It wasn’t until I had thought about this for a while, and was halfway through writing this post, that I had a flashback moment and remembered a conversation about almost this very issue with my graduate advisor, back in the day:
My advisor: “Money, machines, and students. Those are the only resources that matter”
Me (joking in a needling way): “What about ideas?”
My advisor (joking in a scoffing way); “Ideas? Ideas are a dime a dozen.”
(For my advisor, of course, “students” meant what we call “headcount” today.)