Archive | 37 Signals RSS feed for this section

How We Track Projects

Depending on time of year, current workload, phase of moon, and other factors, the Go Tripod team may not always work from the same location. And even if we do, we’re often in Do Not Disturb mode with headphones on. We’ve found that the best way to keep track is by using the Campfire chat system, which allows not only standard back-and-forth yapping, but sharing of source code and images. A killer feature for us is the ability to see what’s been talked about if we’ve not been in the chatroom for a few hours; Campfire offers transcripts of everything that’s been said in your absence.

So we’re always in Campfire, and it’s an integrated part of our working day. As Go Tripod is going from strength to strength, we’ve started to need a way of doing a similar thing with projects – a very simple way for anyone to see and overview of projects that are on the go right now. We’ve kind of tried this before, but the stuff that we’ve tried either hasn’t been simple enough or we’ve only used it rarely because it’s separated out from every other part of our work. In the latter case, it just gets left by the wayside and forgotten.

The idea sprang to mind to somehow involve Campfire in the proceedings. Maybe we change the room title to reflect the current open projects? The problem with the room title is that it’s a bit out of the way up the top of the screen and could be affected by the same issue as I described above – out of sight, out of mind. So the solution needed to be integrated. In fact we basically needed another team member in Campfire, our communication method of choice, talking to us and updating us. Some kind of automated team member… Some kind of robot?

The Technical Bit

I did a quick search – Tim Riley’s Campfire Bot looked absolutely perfect, with its plugin system, so I tried to use that. Unfortunately I couldn’t get the latest source code to work, and I had other issues when I tried to use the Tinder library which underlies the Campfire Bot.

A quick scout around for some more libraries led me to Broach, a simple wrapper for the Campfire API, and the 37 Signals example code for the Campfire Streaming API, which uses the twitter-stream library. I quickly put together a proof of concept using these tools and some sneaky code which allowed us to issue commands to the bot from the Campfire window itself.

The Results

A picture tells a thousand words:

List Projects with GoTripodBot

A list of current projects! And Simon decides to add another:

Open a Project with GoTripodBot

GoTripodBot is a helpful fellow:

Getting Help from GoTripodBot

And a brief insight into the world of development (I wrote some unit tests after this):

Development issues with GoTripodBot

Conclusion

Of course there’s a lot more to our project management process than this (and a lot more projects to manage than I’ve shown!) but having such easy transparency into this top layer of our work is really going to improve our awareness of what’s happening right now in the world of Go Tripod.