Lone Star Ruby Conf 2008: Ruby and Virtual Teams
As a refugee of the cubicle jungle where the project status overlords patrolled the aisles, one of the most exciting aspects running a Ruby consultancy is using all the neat tools keep a virtual development team at cruising speed. This talk provides a quick overview for many of the (often free) tools available to distributed Ruby teams and how you can integrate them to improve communication and efficiency.
While Subversion has been the standard for many years, there is a groundswell of support for Git. Originally created by Linus Torvalds for managing the Linux kernel, Git has become popular due to its improved branch management and merging support as well as its distributed architecture which enables each developer to have local versioning (for working offline or on larger efforts in parallel to the rest of the team). The launch of Github (think MySpace for developers, Git has exploded in the Ruby community offering free hosting for Open Source projects and even a Gem Server for hosting uby Gems). Lighthouse from the guys at AlternateIdea is another popular Rails-based issue tracker and now the official tracker for Rails core.
While there are many issue trackers out there, an upstart Open Source Rails-based project named Redmine offers powerfully extensible issue tracking and source control repository integration. Rubyists can also extend the application with plugins.
SlimTimer and Freshbooks offer powerful tools for team members to log time and clients to see real-time project burn rates.
Tying it all together, real-time communication and workstreaming
For constant, asynchronous communication it’s hard to beat Campfire from 37 signals. Free for up to 4 simultaneous chatters, Campfire provides a quick-and-easy way to communicate with team members and clients without the formality or noise of email. The best part about Campfire is the Tinder gem from the boys at Collective Idea. Tinder is an unofficial api for Campfire that allows you to announce source control commits, builds, and other work events directly into the chat room. GitHub offers Tinder/Campfire support out of the box. Just enter your Campfire room configuration and each SCM commit will be announced in your room. Tinder can be called from Capistrano to do the same thing for each deployment event. GitHub also supports Twitter and Lighthouse integration.