A lot of problems can be reduced with simple meeting process and moderation:
- Have a specific agenda; and specify the decisions that need to be made. This gives you something to refer back to when things get off the main point; you can ask people to continue side discussions separately.
- For big decisions, circulate information beforehand so people aren't digesting it on the spot. If your company uses a wiki, put up a blog post and people can clarify whatever they need to know and even toss around some ideas ahead of time.
- Make sure you have the right people in the room. If you don't have quorum , defer the decision to the next meeting. Otherwise you'll just be repeating the discussion. If people use this as delaying tactic, make it clear to them that a proxy must be sent to the second meeting if they can't attend, as a decision needs to be made.
- Have someone take notes/minutes, including specifically recording who attended, what was discussed and what decision was made. Circulate the notes in writing to everyone who attended, soon after the meeting.
- If the meeting is particularly big or the topic is especially touchy, bring in a moderator and note taker who will not be involved in the main discussion. Think about someone who cares about the people in the room, but has no strong opinion about the topic.
You can still get bikeshedding even when doing all that, ultimately you need to have a culture where it's ok to say "hey everyone, we're getting away from the agenda - let's get back to the main decision for today, (restate the big question)".