I want to ask developers who work in small teams, like 5-6 people, how can brainstorming accomplish as much as possible? What does brainstorming look like on your team ? I ask, because I remember my previous brainstorming meeting, and I know is very hard to co-ordinate it :/ We want to brainstorm about game design, game architecture and etc.
Brainstorming is sort of supposed to be loose and unstructured in order to facilitate a free flow of ideas. That said, it's usually possible to have an agreed-upon, firm guideline for what you're brainstorming about (game ideas, solutions to a technical problem, et cetera). Everybody should be aware of this guideline and do their part to ensure the meeting doesn't drift too far into the territory of brainstorming about things that are not germane to that guideline.
During the meeting you should encourage people to both propose new ideas and to build upon ideas others have proposed. Usually you'll want to avoid criticizing ideas too much, though. One way I've seen to do this (although I've never done it myself) is to do things in two phases, where people first propose ideas by writing them on sticky notes and quietly sticking them to a whiteboard and afterwards all the ideas are discussed and built upon.
Tools like whiteboards and sticky notes can be invaluable as means of expression in these sorts of sessions.
Almost as important as how you run the meeting is what you do afterwards: even the most haphazard meeting will probably produce at least one reasonably actionable idea, so it's important that you have somebody dedicated to capturing all of the decent ideas and recording them in some notes somewhere.
If you search Google for "brainstorming meetings" you get a lot of results. These two seem potentially interesting:
I think that the most important aspect of brainstorming is that someone write stuff down (type it, perhaps even digital-voice-record it, for later transcription/summarization), otherwise it's easy to forget intricacies of ideas that make them good.
I've had great success in using an online todo list (via http://basecamphq.com basecamp) for a continuous brainstorm. When I come up with an idea (e.g. when I'm out at a restaurant), I write it down, stick it in my pocket, and add it to the online todo list later. Then, when it comes time to actually code, I pick stuff from the todo list that I actually want to do and are high priority.
Here are a few things that help:
- Brainstorming inherently goes slightly off topic so try to make each session about a fairly narrow topic area. Otherwise the sessions can drift into full tangent land, which is fun but not particularly productive.
- Use a whiteboard, post-it notes or a projector to put the ideas up in front of everyone. Often a earlier idea can trigger a later one if you can see them all up in one place. Also this cuts down on the discussion recycling concepts since you can see they were already suggested.
- When writing the ideas down try to give them a rough visual grouping. Doesn't have to be good but it will help later.
When you get towards the end of the session do basic pairing down. There are a few simple steps to help with this.
- Quickly attempt to group ideas in categories, either drawing circles around them on the whiteboard or moving the post-it notes. You should have been doing a bit of this while writing them down but now you can use the help of the group to collect them into more thoughtful categories.
- Have everyone indicate their top three ideas. You'll tend to get a clustering of the more popular ideas that will have more potential than others. It's important to limit the number of votes people have in this stage as it focuses them to the stuff they think will work, not just find amusing.