By now you've heard the news that we're growing our team and branching out into the Durham, NC area. This is potentially a big challenge for us as we strive to maintain constant communication within our project teams and between staff across our two locations. While we're still deciding on whether to use iChat or Skype for our daily Scrum meetings, we've settled on Campfire to stay in contact while we're cranking out functionality for our latest app. Our initial solution was to use an internal IRC server to keep the development team up-to-date and provide a forum for questions. We had mixed success with this approach and knew that it wouldn't work if we tried to roll it out to the rest of the company for a few reasons:
- Geek factor – Sure, we cut our teeth on IRC back in our college dorms, but that's no reason to force our non-technical employees to /navigate the sea of commands. If we wanted company-wide adoption, we needed a more user-friendly solution.
- Some assembly required – Since we hosted the IRC server internally, it was firewalled off from anyone outside the office. This required everyone in the Durham office to connect to the VPN to chat with the rest of us in DC - not fun!
- History – There are ways to log history in IRC and provide a searchable interface, but we're too busy to bother with setting that up. We needed something that worked "out of the box" to give joining users insight into what happened throughout the day.
- Communication has improved – Instead of just the core development team, we now have everyone involved in discussions throughout the day. Project Managers can alert us of new issues that crop up in production (that we don't see in our exception notifications) and Developers can get clarification on a proposed feature.
- Cool bots – When they're not hanging out in the VL "Bot Tub," our Capistrano and Subversion bots send messages to the team whenever a deployment or commit happens.
- Context included – When people sign in, they can see what has been happening throughout the morning. This means that a Project Manager can see what features have been implemented and are ready for review on our autobuild site.