Fairly Good Practices


“Maybe we would be better off if we developed a list of ‘fairly good’ practices...”
- Jim Highsmith



The Release Box

Get enough people together in the same code base and there are going to be conflicts. At some point in time you'll be running all the unit tests only to discover that someone else released code in the same class as you five minutes ago. And after awhile you'll be reachine for the asprin.

Our solution? Make a form clearly stating what needs to be released and have someone track the paperwork, run the unit tests, and release the classes.

I'm kidding. I've seen enough of that in my life and I'd rather chew glass than go back to the delays and finger pointing.

Instead we ended up just single threading the releases through one machine, namely the fastest one we could find. It took a while to get everyone comfortable with the concept but it's worked out extremely well. The flashing cop light (with an extremely dim bulb) makes it easy to tell if anyone is running the unit tests. Functions were added to the smalltalk browser to save a list of all open classes in an XML file and to load those classes on demand. And as a result, we've avoided the paperwork and the finger pointing.

I can live with that.

If you want to be a little geekier about it, get an ambient orb and customize it. Or you can use a USB Lamp to signal all the different stages.