Closet Coder

I work in my closet. I code. Yep.

Distributed Teams in the Same Room

| Comments

When you’re in the same room, often your communication is done via waving at each other, overhearing a conversation, happening by a desk, etc. It’s accidental communication in many cases, and it’s good.

But it can have detrimental side effects to productivity when interruptions can happen at any time. That was the main impetus behind deploying HipChat to our organization–having a way to allow people to communicate without directly interrupting. Let people come to the communication, rather than taking the communication to them

But it did a lot more than that. Suddenly, the developer in Romania and the developer in Florida felt a lot more connected to the team. They were able to participate in daily conversations because there was an IRC style chatroom that let them “overhear” conversations that were occuring. Since we also had lots of github and capistrano hooks in place it also communicated things we were doing to the codebase too.

Then we realized that treating our team as though it was always distributed mad a drastic difference in how we were able to work. Open source teams do this by necessity, but private teams often ignore this idea. With video chat, always-on-chatrooms, mailing lists and bug trackers, you can take most of your communication online where physical location no longer matters and communication is nearly always archived, accessible and referencable.

The benefits are pretty significant:

  • potentially less physical distraction to your developers
  • easy reference and review of past communication
  • fewer decisions made “behind closed doors”
  • the ability for employees to work from anywhere
  • the ability to hire employees from anywhere

If you’re interested, I’d highly suggest setting up the following:

  • A group chat client (HipChat, Campfire, IRC) - make it part of the culture to have it “always on” and to put most of your conversations in there.
  • A video chat service (Google+ Hangouts, Skype) - use it for standups to keep facetime at a premium for all members of the team
  • A mailing list or distribution list (optionally) - to encourage open communicaiton among the whole team