Making Distributed Development Work
Communication Becomes Top PriorityI doubt anyone will argue that if two people need to collaborate, it is much easier if they are in the same room. But how many times in game development is collaboration limited to two people? Entire teams are collaborating. And while entire teams can be brought into a meeting in the same location, the dynamic instantly changes. There is more discussion. And there is more opportunity for communication failures. Here are some examples:
A meeting is called for 10 minutes from now. The entire team attends, except Bob, who is the only back-end developer on the team. Bob is at the dentist. They make a decision for a new interface. No one tells Bob. Bob continues working on the back-end based on previous assumptions. A month goes by before anyone discovers the problem and a month of development time is lost.
Carol and Alice meet in the hallway to discuss a problem with the controllers. They decide to tweak an algorithm to fix the problem. They don’t realize that the algorithm used for the controllers is also used for AI. When they check in the fix to the controllers, they break AI movement.
The art team is gathered around a monitor to view the latest models. Stan is in the back and can’t see the entire screen. The art director points out an area where there needs to be some work but Stan doesn’t see the entire piece and while he thinks he understands the direction he’s being asked to go, he’s not correct because he missed a critical element.
Alice and Carol would not have been in the hallway, they’d have met in IRC chat where the entire team would be able to watch the conversation and the AI developer could have pointed out the problem at design time. And Stan would not be huddled around a monitor trying to see around others, but would have the screen he was supposed to be looking at shared on his computer so he can see it clearly.
None of the three meetings in the examples have a record of what has transpired. The tools used in distributed development in some cases automatically record the meeting and in others lend themselves to easy documentation. IRC automatically logs chats. In Skype meetings at Linden Lab there were usually side bars in chat along with the conversation in voice. This allowed everyone to more easily insert their opinions without interrupting and provided a chat log of what was being discussed. Screen shares can also be captured. All of this documentation becomes available to those at the meeting, to ensure everyone understood and also to those who could not attend so that they can quickly get up to speed on any changes. This is invaluable when bringing new people into a project.
Team BuildingHaving the right tools does not solve problems with attitudes. While people all in the same office can also get into cliquish behavior, when teams are distributed as teams rather than as individuals an “us v them” mentality can easily slip into the culture. This kind of attitude requires management intervention and needs to be aggressively addressed. Team building exercises are critical. Video cameras to bring the people more directly into the room in meetings help, but so do meetings that are just for team building. And if you can meet in a virtual world as avatars that adds a uniquely wonderful touch, particularly when your boss wears a brown paper bag on his head or the CEO is a rocketship. My personal favorite will always be the bloody meat cleaver wielding tiny fairy with the bass voice of one of the rendering devs.
Judy Tyrer began in serious games with PLATO in the late 1970s, moved into distributed operating systems and enterprise software before rejoining the game industry in 2005. She worked for Ubisoft, Sony Online Entertainment and Linden Lab before branching out to start her own studio, 3 Turn Productions LLC which is coming out with the virtual world of Jane Austen for Kickstarter this summer.