Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
About Those Lava Lamps

Around 2006-2007, it was a bit of a fashion to hook lava lamps up to the build server. Normally, the green lava lamp would be on, but if the build failed, it would turn off and the red lava lamp would turn on.

By coincidence, I've actually met, about that time, (probably) the first person to hook up a lava lamp to a build server. It was Alberto Savoia, who'd founded a testing tools company (that did some very interesting things around generative testing that have basically never been noticed). Alberto had noticed that people did not react with any urgency when the build broke. They'd check in broken code and go off to something else, only reacting to the breakage they'd caused when some other programmer pulled the change and had problems.

So Alberto hooked up the build server to the lava lamps, which he put in the middle of the large U-shaped table configuration that the people worked at. (About the same number of programmers we have, maybe a little more.) This solved the problem, but Alberto noticed something additional and interesting.

It turns out that lava lamps take about 15-20 minutes to get warm enough for the wax bubbles to start floating upward. What was interesting was that it became a competition among programmers: as soon as the red lava lamp turned on, the person who'd broken the build really really wanted to fix it before the bubbles started rising.

This was another of my Aha! moments: Everyone knew broken builds should be fixed quickly. No one did it. Introduction of a completely irrelevant stimulus/challenge caused people to behave correctly. Reason could not counteract unreasonable natural inclination, but a different unreasonable natural inclination could.

Huh.

harms commented Dec 15, 2015

"Big and visible."

jbrains commented Dec 20, 2015

I remember Agitar Software and Agitator.

Anyone recall the (I think) SGI story about the first nerf rocket battery to attack the person who broke the build?

Nice bit of experience design :)

rsanaie commented Dec 21, 2015

Developers love seeing/hearing things happen as a result of their work and getting immediate feedback. Be it cards moving across a kanban board, a bellhop when a story ticket has been released or a lava lamp turning green. These are small satisfactions that can greatly help you chug along the way until you get your bigger tasks done.

ardeay commented Dec 21, 2015

Amazing how slight gamification can make all the difference

When I worked at Kink.com (NSFW!!!!), the person who broke the build got a giant dong put on their desk. That was pretty good motivation to not break things. Heh.

DrMoish commented Dec 21, 2015

Another use of Lava Lamps was as a random number generator. Lavarand was patented and available as a free web site from 1997 through 2001... see https://en.wikipedia.org/wiki/Lavarand

Hi Brian, thank you for bringing back the lava lamp story. It was one of several eXtreme Feedback devices I eXperimented with at Agitar to go along with eXtreme Programming. I wrote an article about at the time: Extreme Feedback for Software Development:

http://www.developertesting.com/archives/month200404/20040401-eXtremeFeedbackForSoftwareDevelopment.html

Of the extreme feedback devices I devised and experimented with, 3 seem to have caught on:

Lava lamps (now found in better software development shops the world around) – with the improvement of Red/Green lamps
Feedback monitors (basically LCDs with key status and stats)
Testing on the Toilets (catching people's attention while they are taking a bio break)

All 3 can be seen in action at Google today.

Nice blast from the past! Thank you.

Alberto

x-ji commented Jan 4, 2016

Well I don't think in the end it was an "unreasonable inclination" that did the job after all, but still a well thought of, rational mechanism. Also, as long as it's what a human being wants to do, you can hardly put it down to a simple "reasonable" or "unreasonable" dichotomy. The reason might well be a bit hidden at first sight but it's always there, and there's always an explanation. Still, nice anecdote.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment