Building Feedback Devices for your Software Development Process

May 23, 2009

If you’ve heard of Ambient Orbs or tying Lava Lamps to your automated builds and think they’re awesome, then skip the next paragraph.

Personally, these devices are important as they do provide a fun way to communicate the state of a project or problem. While something more conventional- say a status posted to a web page- may be easier, it’s far easier to understand a situation with simple visual/aural cues. To not waste time repeating people who can explain this better, please go here.

At Amazon, we have a ticketing system that’s used to file bugs/issues affecting the sites we manage. There are different levels of tickets that can come in, some of which, unfortunately, page us in the middle of the night. There are times that some of these issues become large scale events, initiating a control center like atmosphere. In the spirit of feedback devices, we felt these situations deserved a visual alarm system, so we bought a red strobe light.

With the help of X10, we’ve tied this to our ticketing system, and it turns on automatically during high severity events. In order to do this, I set up a simple daemon on my development box that listened to a port for commands. Being accessible anywhere on the network, anyone in the office can turn devices on and off by writing to that port. For more information on how to set up the X10 equipment and for a how to on automated build integration with lava lamps, see Pragmatic Automation. I’ll also post the code for my server/client setup soonish…

sdc12148 300x225

While I had my camera at work, I figured I’d include a small look at my desk after our recent total physical team room reorganization:

sdc121541 225x300