October 19, 2005

Scrapheap Challenge (OOPSLA 2005)

Nat and I ran the Scrapheap Challenge workshop yesterday. Participants were paired up (changing who they paired with for each challenge), given challenges to implement (using any technology they want - including using anything they can find on the scrapheap that we call the internet). There will be proper write-ups, including source code of the solutions, linked from the Scrapheap Challenge wiki page - here I just want to give a flavour of how it was.

One of the challenges was chosen because it's a tool that I want when I'm working as an XP coach. This challenge was to build an "integrationometer" - a dial that shows how far away from the team's code I am - i.e. how many lines of incoming and outgoing changes I've got compared to what's checked in. I want such a tool to remind people that if they don't check in frequently, they are getting further and further from the team's code base and will not only have a hard time themselves updating (and merging as necessary) but are also going to make life harder for everyone else if they check in after a long time when they've got lots of changes. This isn't my idea - I can't remember who suggested it - I think it was Oli Bye - but if it wasn't then please add a comment.

The participants were fantastic - they produced solutions to some tricky challenges (like the "integrationometer") within just 90 minutes per challenge. The approaches were very creative - some are written up by one of the participants during the workshop (challenges one, two and three and even the recap. Hopefully the other solutions will be posted soon.)

Everyone seemed to enjoy the workshop and I think we all learnt lots. The technologies used included JavaScript (using greasemonkey), Python and lots of unix style tools (e.g. grep, sed). We didn't put any constraints on what people used, but strangely no successful solution used a statically (and manifestly) typed language like Java or C#. I guess if you're in a hurry you just don't have time to type all those type declarations :-)

Posted by ivan at October 19, 2005 12:07 AM
Copyright (c) 2004-2008 Ivan Moore