Managing any team is often a complex mixture of diplomacy, strategy, and steadfast conviction. Taking a team out of the more traditional "brick and mortar" environment and throwing them all into a cloud-based environment amplifies the complexities of team work and managing those teams. Throughout my career, I have had the honor of working with some amazing talent through cloud-based development, and while not all-encompassing, have compiled some tips and tricks I have found to work for myself and the teams I have managed.
Let me first give an introduction into my experience with this topic. I am a developer with over 7 years of experience who has been on both the Indie and AAA side of game development. For the the better part of 4 years of that time, I managed cloud-based teams as both a Designer and Producer. Prior to transitioning my career into game development, I spent nearly 10 years in management roles, overseeing and training numerous staff teams.
The cloud-based teams I have managed have ranged based on the scope of the project - some of the teams were as large as 50 developers, while others were as small as 6 developers. However, each time I am offered an opportunity to work alongside a cloud-based team, my approach is relatively the same no matter the team size I am walking into.
Communication on any project is vital, but none so much more than working on a cloud-based project. Unlike a traditional environment, cloud-based teams may not always be online and working at the same time you are everyday, so it becomes extremely important that any information which has been covered is always readily accessible to prevent communication time lapses. When in doubt, it's better to make sure you over communicate a topic than to potentially not have communicated it enough.
There is a wide selection Video Conferencing tools available now, and some of them are completely free to use (such as Google+). These are not just an additional tool for use, they are absolutely essential to running any cloud-based team.
Most of these video conferencing services also allow the users to share their screen, another invaluable tool for communicating among a team which is spread across the globe. These tools allow the team to break through the cloud barrier, and interact as if they were all in the same room, providing face-to-face communication and feedback regarding their work.
This also becomes extremely valuable when handling delicate, or soon to be delicate situations. E-Mail does a great job of providing information from one team member to another, however it does an absolutely terrible job at conveying tone. This has, and usually will, lead to someone taking a message the wrong way at some point in time. Pulling those involved out of the E-Mail chain and gathering for a face-to-face meeting to discuss the topics helps produce quicker and less dramatic results.
One of the harder aspects of working with cloud-based teams is being segregated form those team members throughout the majority of your work day. This can easily create a barrier between you and the team members, and it can become easy to see them simply as "resources".
It is important to remember that all of your team members are human beings. Take the extra time to break the cloud barrier and get to know the team you are working with, and set up opportunities for all team members to do the same. The more the team knows each other, the more trust they have in each other, and the more invested they become. Similarly, the more the team knows you, the more they respect the hard decisions you will inevitably need to make.
This also makes it easier for you to let the team work to succeed. Again, your team may be working in different time zones, so the chances that they are going to be around the entire time you are working may not be a reality. Meet with your team when setting up tasks, agree on a deliverable and timetable for that deliverable, and let them work. Show them you trust they will get the work done. If they don't, speak with them and figure out where breakdown occurred, work to resolve it, and let them get back to it. Keep the team highly accountable, but also keep the trust in them.
Keeping documentation during a project is always needed - and a cloud-based development is no different. This again falls into the line of communication (I cannot stress communication enough!). Keep documentation of project specs and details, team retrospectives, team task management, anything and everything you believe would be handy to a team member to execute their job to the level they need to.
However keeping thorough documentation and keeping it available are two distinct topics. A folder sitting on your personal desktop housing all documentation is not going to do anyone a favor. If the team members cannot access the documentation, they cannot benefit from it either. Set up some version control, give your team the access they need, and let them know where they can locate specific information.
Of course, not all documentation is needed by all members of a team. More confidental documents should of course remain as such.
One of the key elements I have found to working with cloud-based teams is creating or having access to some version of a task management system which allows team members to actively make updates themselves. I have used numerous different software - some overly elaborate - but there are moments when a something as simple as a nicely built Excel sheet will suffice.
Keeping this online, accessible, and interactive allows all team members to see what is being done, when it's being done, and who is doing it. Depending on how far ahead you plan, they can also see what is coming up on deck. By allowing team members to interact with their tasks, you are allowing the following:
While the above has proven to be successful throughout the teams I have worked with, there should also be the realization that this type of team work is not for everyone. It requires individuals who can work with little supervision, a large amount of trust and the ability to swallow a bit of pride and actively reach out when you need help.
However, if successful, working through a cloud-based team can be highly rewarding!