
A chat room is a great tool for any team. I've worked both in distributed and
"local" team and in both cases a central chat room was one of the most
effective tools we used. The chat room is the central location for updates,
conversations, shared knowledge and more. It's also highly effective in many open source projects.
Starting is super easy, you can either set an internal server in your company with one of many open IRC/Jabber servers or try an external service (like
Campfire, or
HipChat).
The success of the chat room depends on the signal/noise ratio in the main
room. Try to have every new conversation start in the main room, and only if it
becomes to noisy move it to another room. 1/1 conversations are hiding information from
the team and should be used only for personal communication.
Don't forget add services to the chat room. It's easy to add build notification,
source commits, reminders and other smart bots. We use (
Jenkins Jabber
plugin) to get build notification. However be careful not to generate
too much noise and tweak all these bots.
Logging and searching is another critical feature. Some services (like
Campfire) provide it out of the box. If your chat server does not provide logging, it's pretty easy to add it with one of the many logging bots out there,
and hooking search on top of the logs is pretty easy as well. (That's what we
did with
selenium.saucelabs.com
which is a combination of
Supybot and
Omega).
Another issue is presence, people need to make it clear when they are "in" or "out" of the room. In some cases when the server logs it's as easy as login/logout. In other cases just notify the team your are away (we use the IRC
/me lunching a lot). Stating that it's acceptable to be "out" of the room allows people to close the chat when they need to be in the zone.
So go ahead, set a chat for you team. Soon you'll wonder how you managed before.