There’s a nice little article here about Terracotta’s new office in Noida, India outside Delhi. Terracotta has been fairly distributed for a while (and seems to be growing ever more so). We’ve hired a number of people in India this year and it’s nice to have a real office for them to use instead of relying on intermittent power and bandwidth from home.
We take a fairly integrated approach to the way we’ve hired in India. We don’t have a distinct team there working on an isolated part of the product. Rather, we have people on many teams from development, QA, field, etc working in one location, each integrated into the rest of the team. My team is actually probably the most distributed with people in Belgium, India, St. Louis, San Francisco, Seattle, and soon the UK (and no more than two in any one location currently).
Figuring out how to lead and manage a team like this is something I think about all the time. Communication is always an issue (even in colocated teams) but the distance magnifies everything. IM and email are of course essential and for me a constant part of my working life. We also use VOIP with an Asterisk server and soft phones so we can talk anywhere anytime. For one-on-one conversation, Skype with video works great and can give you a lot more of the backchannel richness you’re missing.
For distributed meetings, we usually use either a VOIP conference line for audio or Elluminate for shared whiteboard and screen sharing. Many people use Webex for that but we have developers on PC, Mac, and Linux and apparently our Linux users have trouble with Webex.
DimDim looked pretty interesting and we tried it out with a local server but the Mac experience is basically unusable right now and probably the majority of our devs are on Mac. Actually Mac iChat with video and screen sharing is a great choice for person-to-person work if both are on Leopard. I’m also looking forward to trying the new Eclipse Communication Framework live shared editing tools in Eclipse Ganymede – still switching over to that. We’ve used Google Docs at times to collaborate on shared specs and that’s generally been very successful.
One area where we struggle are meetings where we have a mix of several people in a conference room and a bunch of remote people. If everyone is colocated or everyone is remote, then it’s pretty easy to get a level experience. But as soon as you introduce a speaker phone, even a good Polycom, the experience degrades rapidly. It’s often hard to hear on one side or the other and it’s difficult to share any sort of creative environment like a whiteboard.
If anyone has things that have been successful for you, either as a practice or from a tools point of view, I’d love to learn about it, so leave a comment.