In late November I started working for NowPublic as their Director of Development. My job more or less consists of working with the product managers and developers to schedule development resources and build out project timelines, make sure things are running smoothly, and manage many of our technical projects. So far it's been great, there's now 11 people on the dev team and I've definitely learned a lot more about managing teams since I've been here.
One of the most interesting aspects of my job is the fact that of the 11 people on the dev team 9 are remote (including my boss). A bunch in Europe and the states... 4 different timezones in total. Almost all our communication is done via an IRC chat channel, skype, trac, and email.
This has presented a couple interesting issues. To actually connect with someone using only text takes a lot more work and time than in person. I'm not sure what it is exactly, but there are a lot of subtle cues that you use for in person communication that are simply not possible with your average emoticon (if you can believe that!). It's tough to tell whether a person is unusually "quiet" in text because they're upset, just working on something at the same time, or something else altogether. You don't get the same kind of "water cooler" talk that you do in person. When people are chatting it's work related. I'm trying to make a conscious effort to talk about more casual things and joke around a bit. But the environment takes some getting use to.
Another issue with so many people being remote is surprisingly not miscommunication... but missed-communication. The whiteboard discussions and decisions that happen on the fly at someone's desk. It takes a bit of extra effort to make sure that the developers that are sleeping while this is happening are made aware of them.
IRC is used for 95% of our developer communication. Everything is logged. You can choose to either be involved in any conversation you want to be a part of. This is in contrast to conversations that happen at peoples' desks or offices that you may never know about, regardless of if it affects you. IRC lets you "highlight" key words that your interested in, so you can drop in only when those things are mentioned, or just follow along passively when you need a break from whatever it is you're doing. Anything you miss, well, it's all in the logs.
IMHO, in person is a lot better. Significantly more bandwidth. Primarily text based communication works, especially in a development environment where for the majority of the time the developers have their head in their code and don't need their flow broken by common office distractions. But conversations happen slower, things get missed, and more effort needs to go in to ensuring everyone has the information they need (which isn't necessarily a bad thing). With the right tools I think the remote thing can be very close to /as/ good as in person. We're going to start doing more video and voice chats and I'm constantly looking for tools (and looking for suggestions for things :) ) that will help enhance the environment. Virtual whiteboards, online video conferencing, better web based project management tools, etc.
It's pretty tough to grab a beer with someone who's working 5000 miles away from you. With that said... the team is going to be together in in Boston for DrupalCon this next week. It should be sweet... I'm pumped to hang out with every one in RL ;).
hadfield on 9 Drush links to take you from beginner to advanced.
Tai Travis (Taiger) on 9 Drush links to take you from beginner to advanced.
mobility scooters on Creating Custom Triggers in Drupal
hadfield on Features Part 2 - Managing your feature
Capi Etheriel on Features Part 2 - Managing your feature
Capi Etheriel on 9 Drush links to take you from beginner to advanced.