The Furious Coder has a good post about Building Great Teams. He argues that teams gain more from collaborating on practical tasks than from typical team building exercises. Regarding team building exercises, he writes:
… when there is no real external goal, people realize it’s just a game, and they don’t take it as seriously as if there is a “real project” on which to focus. When the goal is simply to build an effective team, people will fall into arbitrary roles as leader or follower because they want to give the appearance that things are running smoothly.  If the team knows that they’re not actually gaining any external skills, or accomplishing any external task, then they won’t take it as seriously, nor will they learn to rely on each other. There’s no real penalty for failure.
Although I agree with these points, I also find value in team building exercises, when they are done well. A prerequisite, of course, is for team members to take training exercises seriously and to share a desire to improve their teamwork.
When the attitude is right, team building exercises are very useful for introducing new concepts and injecting fresh energy. Because there is no pressure to produce concrete results, team members can concentrate on improving “how” they collaborate, without having to also focus on “what” they are collaborating about. Additionally, when teams are working through certain issues (which team isn’t?), abstract team building exercises can be especially helpful because they depersonalize activities, placing attention on improving behaviors for the group as a whole rather than focusing on each individual .
Still, when the desire is to target team building on specific activities that the team engages in frequently, nothing works as well as working together on practical tasks and projects. Again, from Furious Coder:
The best way to build a team is to give the team a short, meaningful task, give them the tools they need to accomplish that task, and then set them loose on that task with a short deadline and the requirement of interdependence among the team members.
Using smaller, meaningful tasks for team building has several advantages. The approach is likely to produce tangible outcomes for the organization. Teams gain valuable practice using actual tools and processes. Additionally, real tasks allow team members to become even more familiar with each others’ strengths and weaknesses. Finally, teams have the chance to succeed together, which is critical for teams to gel as a unit.
What has worked for your teams? Have you had more success with team building exercises or practical tasks, or both? What have you found to be the greatest benefits of each?