The Golight: Tool Support for Test-Driven Development

7 February, 2008

SqueakSVNAt the Hasso-Plattner-Institut (HPI) in Potsdam, all Bachelor students have to participate in a software development project in their final year. Said projects are usually issued by industry collaborators, and hence are “real” development tasks that often yield actual products. The different HPI research groups coach the student project groups.

This year’s Bachelor project of the Software Architecture Group was issued by CollabNet, the company that spawned Subversion. The students are working on SqueakSVN to make SVN version control and tooling available in Squeak.

Coaching in the Software Architecture Group includes training in agile methodologies, with a strong emphasis on Extreme Programming. Of course, this includes heavy testing.

The students were facing the question of how to make the current project status perceivable in a motivating way. Ideally, the status should be immediately visible when entering the project room in the morning, without the need to start up a Squeak image and run all the tests first.

ampel2They came up with a really nice idea: the “test stoplight”, or, rather, “golight” to make it sound more positive. It’s as simple as this. A wooden board, three red, yellow, and green light bulbs, sockets, power supply lines, and an USB-controlled multiway connector make up the hardware part of the golight.

Realizing the software part was also easy. One computer plays the role of a dedicated test server, running a Squeak image. In this image, a process checks out the most recent version of the software from the repository every five minutes, runs all the tests, and switches on the light corresponding to the color of the TestRunner bar. At night, it switches the lights off entirely.

leiste.jpgThe software does not even have to know anything about the protocol used to drive the multiway connector. The connector comes with a set of command-line tools that can be run from Squeak using OSProcess. These are currently limited to the Windows operating system, but since controlling the connector is basically about writing some data to a serial connection, it should not be too hard to come up with solutions for other platforms.

This morning, when I first saw the golight, it was showing green.

Feel free to contact us for detailed building instructions and information related to the software!

7 Responses to “The Golight: Tool Support for Test-Driven Development”

  1. beza1e1 Says:

    Do you know about the Toyota Production System? Especially what they call “Andon”?

    http://en.wikipedia.org/wiki/Andon

  2. Marcus Says:

    That’s exactly what I was searching for.. Where does one get that connector?


  3. Marcus,

    I don’t want to do any advertising, but such connectors should be easily obtainable from your favourite electronics dealer. We got it from a popular German one.

    Best,

    Michael

  4. Robert Says:

    Hi Marcus,

    the connector we used is called “Silvershield Power Manager”. It is produced by Gembird http://www.gembird.cn/index.html and in Germany available from Pearl.

    I think the connectors are also available on ebay.

    Robert

  5. Jan-Wijbrand Kolman Says:

    As far as I understand, one could use:

    http://sispmctl.sourceforge.net/

    to control this powerstrip from linux.


  6. […] group of students at the Hasso-Plattner-Institut (HPI) in Potsdam, Germany came up with a novel way of communicating their project status. They hooked up a homemade stop-light system, dubbed “The Golight” to their continuous […]

  7. Marcus Says:

    We got our “Silvershield” today. It’s working great using http://sispmctl.sourceforge.net/ but as of now we only have “fairy lights” to show the status of our continuous integration.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: