In my early years I was heavily engaged in a sports team. We never reached the highest level of competition but we treated it seriously.
Going into a season our coach gathered the whole team and we sat down and discussed our goals for it. At our level the goal was not always to win the league. Since we were a group of friends, other values, such as everyone getting to play a number of games, could rank higher.
When we had decided on the goals for the season we had to look at on how to reach them. In that process we defined a number of simple rules everyone had to follow. Examples of questions that were discussed were:
Setting up these goals and rules helped us as team perform better than we would have without them. The discussion leading up to the goals made us also understand each other’s views. More often than not, people had very different goals and we did not usually reach a consensus, but at least we understood each other better.
Players that didn’t agree with the goals and rules set up in the team were likely to leave the team shortly. Having talked about it created a very homogenous group of people and I’m still very good friends with a lot of people from that time.
Sports teams are way better in building groups than game developers are. It doesn’t have to be that way. In decently serious sports teams everyone in the team is there because of the love for the game, in game development people are hopefully in it for the love of games. The common denominator is there, it shouldn’t be too hard to unify the vision.
In this case I’m not talking about the vision for the game, but the vision for the group.
There is one thing that makes it slightly more complex than in amateur sports, that being salary. People need to get paid to live, whereas in the case I talked about we were doing it as a spare time activity. In your spare time activities you are more inclined to quit if you don’t agree. Having people leave the team is necessary to build a homogenous group; the ones that remain are more likely to share the group values.
I guess that most game developers are likely to skip the step of discussing values, goals and ways to get there for several reasons:
I have my view of how this can be handled, but I’ll leave it up to you to think of how this applies to your team.