In the spirit of Java Lava Lamp build monitoring:
A few months ago, on April 1 2004 to be precise, I posted an article on eXtreme Feedback.The article was on a relatively serious subject: "How do you get your team to pay attention to the software/project status and metrics that you care about?", but one of my solutions for getting the team to pay attention was to "invent" and implement eXtreme Feedback Devices (XFDs) that would be very visible, fun, and hard to ignore.
One of these XFDs consists of a pair of Lava lamps (one green and one red) remotely connected to our build and test system in such a way that a successful build (all tests pass) turns on the green lava lamp, and a failed build (or failed tests) turns on the red one.
The original Java Lava Lamps have been glowing red and green for the past several months in our offices, and have achieved something of a cult status. They are included in Mike Clark's excellent book Pragmatic Project Automation, and have recently received a fair amount of buzz on Slashdot.
The interesting thing, for me, is that something that I started as something of a joke (it was April 1st after all) actually turned out to be a very useful tool in more ways than one. Sure, I could go to our CruiseControl page to see if they build is broken, or set-up email alerts, but keeping track of the lamps (which are centrally located in our development area) is easier, faster, and gives me an ongoing view into the current status and ebb-and-flow of our build and test cycles.
And Michael Swanson's Automated Continuous Integration and the Ambient Orb:
So I had this idea that we could configure an Ambient Orb to reflect the current status of our NxOpinion continuous integration build. A slowly pulsing green would mean that the build is currently okay, and a quickly pulsing red would indicate a build failure. I planned to put the Orb in the middle of our project team so that everyone would be aware of the build status. I hoped that by raising its visibility, everyone on the project team (including the customer) would be more aware of the project "health."Now, when the build breaks and the Orb pulses red, it's like a fire alarm around here. The first question out of everyone's mouth is "who broke it?" After appropriate developer guilt has been piled on by the development team (all in good fun, of course), it's usually a relatively trivial matter to discover and fix the problem. Because we continuously integrate our code and the automated build potentially runs every 15 minutes, determining what caused the failure is as simple as looking at what has been checked-in since the last successful build. Fortunately, CruiseControl.NET includes this information (along with check-in comments) in its e-mail and web page summaries.
To-date, our solutions contain approximately 175,000 lines of C# code and over 600 unit tests. Since we consider the failure of a single unit test to be a failure of the entire build, if one test fails, the Orb pulses red. As you'd guess, CruiseControl.NET also includes unit test results in its e-mail and web page summaries which makes it easy to identify the problem.
These things are all cool, but I think we can do better. I've been playing with the BetaBrite one-line electronic LED sign:
This thing, for my money (and it was my money, for the record) beats the heck out of retro-kitsch novelty status indicators. You can put full text build status information on there, in eight colors and 12 different font styles. Including animations! It's way cool; I have yet to see someone walk by my desk who isn't mesmerized by its hypnotic animation and colors. Sam's Club has the BetaBrite sign for a reasonable $160, and that includes the serial communication cable, remote, and software.
I'm currently working on some .NET classes that wrap a BetaBrite-specific subset of the Alpha Sign Communications Protocol. This requires serial communication via a 25 or 50 foot RS-232 serial to RJ-12 cable, so you'll need a physical PC with either a serial port or a USB-to-Serial adapter to get this working.
With the flexibility of the BetaBrite, Continous Integration monitoring is merely the tip of the iceberg:
I can't make any promises, but this could just be that extra bit of cowbell your project needs to succeed.
Erm... $160? For that much money (well, $10 more), you can buy a fifteen inch LCD monitor from NewEgg.
Play The Simpsons/ambient scenery/softcore porn/whatever for a successful build, and From Justin To Kelly/Jerry Springer/really bad porn/whatever for a horked build. Now THAT'd get people crackin' on fixin' the build! General productivity might suffer, but hey -- at least the builds will get fixed!
-----
Why do I have a feeling the above post won't seem nearly as amusing after I've gotten a good night's sleep?
Also:
MT::App::Comments=HASH(0x17a9754) Use of uninitialized value in sprintf at C:\Inetpub\wwwroot-codinghorror.com\mtype\lib/MT/Template/Context.pm line 1187.
Might wanna fix that =/
I agree, I was skeptical too.
But I'm telling you-- there's something about seeing information on a large scrolling LED display that's more compelling than the same informationd displayed on a garden variety Dell 15" LCD panel. Dunno why, but it really is!
I wasn't kidding when I said people who walked by my desk stop in their tracks and watch the display do its thing. I really don't think I could say the same about some scrolling text on a Dell 15" LCD..
Jeff Atwood on March 14, 2005 12:31 PMI published my .NET API for the BetaBrite here:
http://www.codinghorror.com/blog/archives/000244.html
Jeff Atwood on March 21, 2005 12:45 PMI got my own BetaBrite on eBay for less than $50, complete except for the manual and cable. The only LEDs that worked were the green ones, but I figured I could tinker with it. Once I got it, no dice. Called the company and explained the situation and asked how much it'd cost to fix it. The guy said the chip was defective and he'd fix it for free under recall, giving me the service address and the RAN (Return Authorization Number). Two weeks later, it was good as new, working perfectly. These things are pretty awesome! I'm installing it in the back of my Nissan just for SGs...heh heh heh. Nothing offensive, political or biased, mind ya...just for fun. Too much time on my hands...
Noman on November 21, 2005 10:55 AMSpeaking of retro-kitsch novelty status indicators, you might light to check out the color changing SnowMan for a build status indicator.
Stephen Harrison on May 6, 2007 6:39 AMdick in ur butt
applejuice on February 12, 2009 12:54 PM01
Akram on March 24, 2009 5:45 AMHello,
I really like your blog. My website is also related to your blog.
Please check this out http://www.putsign.com
Thanks
Naveen Kumar
tengo un aviso betabrite pero se me daƱo el control y no tengo el sotware ni el cable para la pc, quisiera que me dijiera alguien en donde podria comprar el control o el sotware con el cable para la pc y cuanto cuestan en bsf de venezuela
oliver on June 1, 2010 7:04 AMThe comments to this entry are closed.
|
|
Traffic Stats |