I lead development and IT teams. Many of us work remotely. We leverage group chats for effective team communication.
We tend to use Skype as a tool to perform this, but you can use other tools: Campfire, HipChat, IRC, jabber, etc. Also – have a backup plan – when your primarily venue is not available. If you are used to working this way, and have an IM outage, it is like losing the internet. I’m serious.
The key to dev chats is that they are asynchronous in nature. This is important. If you don’t answer a chat that means that you are not there, or are engaged in something else. You are not required to respond and state that you are busy or on a call. You simply don’t respond. Messages can be queued for later consumption and review. Most IM programs have a list of unread chats that can be reviewed.
You are expected to configure your notifications, actually disable and mute them. I despise being on conference calls where IM beeps and dings occur in the background. I’m not sure how you can concentrate with all of those auditory and visual distractions.
We have the following chats:
The OT Chat is the water cooler talk. We broadcast “Lunch Time”, “Good Morning”, “Have a good evening”, cool links from HackerNews or Reddit’s /r/programming and other general things that keep us human and feeling apart of a team. It helps with culture as well. This is an optional chat, and maybe segmented by teams or departments, but very important to have, especially if you work from your basement, and don’t get out to lunch or coffee very much.
Project Chats tie to a project, lots of discussion occur here. Daily Standing-Meeting/Chats, priority expectations, requirements clarifications, testing / support, and general questions all live here.
Each project chat has a distinctive name, and a cool icon to make it fun.
Many discussions here are promoted to a YouTrack tickets. And general status updates are shared here as well with the team – These are much better them synchronous phone calls with project status updates. There are also plenty of – is this done yet or what is the ETA on xyz.
Certain projects have additional chats with -MGMT, -DEV, -IT-OPS suffixes. Mangers can discuss project related task with dev leads and PM’s, without distracting the rest of the teams, and Dev’s can really geek out on more technical conversations when required.
Guidance depends on the team size to split these out or not, IT-OPS cares about deploying and supporting apps based on more concrete release notes, not necessarily who committed what fix for a given ticket. So we try to segregate folks when it makes sense to.
Private Chats are generally discouraged, especially if the topic makes sense to discuss in a project chat. I discourage them for the following reasons: If they are private, others can’t learn from them or share their experiences or advice. If you are embarrassed or too shy to make a mistake in a group chat, then you are afraid to learn. If you are afraid of verbosity, keep it in the project chat unless other ask you to take the conversation offline.
* Use gists, screencasts, and use clickable links or permalinks in chats to ticketing systems, code repos, documents to make navigation easy.
* < Ctrl-F > and search is your friend here. Search first, then ask – folks will paste repeated questions that have already been answered.
* Promote ideas and conversations to appropriate venues, “Can we make a ticket for that” is often typed to facilate this.
* Don’t be afraid to get on a phone call to discuss something,
* Things can be missed in chats, if it is important make sure you have a tickler or enter in as a task or issue, vs assuming someone will remember to review history to address something.
* Having a second monitor with dev chats on the side is also a good tip, off to the periphery…
* Get face to face when you can as well – either physically or virtually – group video chats, and hangouts are fun to do from time to time.