Agile On the Beach

I spent two days recently enjoying being in Cornwall attending and presenting at the first Cornish agile conference Agile on the beach.

The event was a great success with world class speakers (you can see the full list on the website), and an actual beach party on the thursday night with a band (All the fires) and hogroast. The organisation was also superb, co-ordinated by Event cornwall. From the attendee perspective, It was great to meet and talk to such a good turn out of passionate developers and companies.

I have some involvement in the genesis of the event. My dad, Mike Barritt is working for a company called Oxford innovation who are helping companies in cornwall to develop and grow. At some point a while ago, I had connected him with Roger Marlow and suggested that a good way to help everyone get into agile was to host a conference. A year or so later, and I found myself down in cornwall amongst some of the people I have massive respect for in the industry. The event has also had a great sponsorship and support from ThoughtWorks, which makes me really appreciate what an amazing company it is to work for.

Some highlights for me were hearing Mary and Tom Poppendieck talking about Lean Startup and running a value stream mapping workshop, Kevlin Henney reminding us all that software should be FUN, and Jason Gorman firing us up to keep our focus on quality codemanship and staying out of the “Anaerobic” zone when developing code. It was also great to see everyone getting down to the code in a dojo with Jon Jagger, to have the fantastic Rachel Davies helping people with common agile adoption problems, and have Steve Freeman talking about TDD. Quite a line-up!

Unfortunately I couldn’t attend my colleague James Lewis’ talk as we were speaking at the same time, but I have seen the slides and it sounded awesome, so I hope to catch it another day. Parallell to us was Roger so I missed his talk too, but it sounded like he had a good time.

I managed to make a presentation myself, talking through some of the experiences I have had as a consultant working for ThoughtWorks, and in particular some developer practices. I over estimated the amount of material I was trying to get through but did manage to get to a few key points! For those who attended a couple of interesting jump points to follow up might be Martin Fowler on Feature Toggles, gource (the tool at the end), and The continuous delivery book by Jez Humble.

All in all, the event was a great time and I hope that it signifies the beginnings of putting cornwall on the world stage for software development and high tech companies!


Start drinking HomeBrew

(Image from maubrowncow @ flikrcc)

A few people have persuaded me to move from MacPorts to HomeBrew and for a while it’s been bugging me with messages about how it might be incompatible with ports. I finally got round to uninstalling ports and found this link on the mac ports site a great help. Now I just have to re-install all the ports.


The ‘R’ Sessions

(Image from

A few years ago whilst working on my MSc thesis I was heavily into R a statistical analysis package which has a functional language feel to it. My friend Marc Hasenbank, a few others and I ran a series of workshops for people wanting an introduction to R. I recently wanted to show this to someone so thought I would post a link. The code from the tutorials can be found here


Current git branch and git autocompletion in bash

First put the following script somewhere, like ~/ and chmod +x it.

Then add this line to your ~/.bash_profile:

. ~/

Finally, if you want to pretty up your prompt as above, then add this:

export PS1=’\h:\W \[\e[1;32m\]$(__git_ps1 “[%s]”)\[\e[0m\] > ‘

You can also install git from (Thanks Jon)

Or on ubuntu install a package called “git-completion” (Thanks Juan)


Help JUnitMax play with Hamcrest 1.3

I have been working on converting our codebase to JUnit, with a secondary aim of trying out JUnitMax.

I ran the Max and quickly discovered that it failed when trying to execute assertions using the Hamcrest hasItems matcher.

The assertion looks something like:

NoSuchMethodException describeMismatch

This error frequently occurs because JUnit packages an older Version of the org.hamcrest.Matcher class which does not have the describeMismatch method.

I dug around a bit in the plugins directory in the eclipse install folder and found that it contains a junit-4.8.2.jar. Happy days I thought, I can simply do what I’ve been getting used to doing for a while and replace it with junit-dep-4.8.2.jar which does not contain the hamcrest classes.

Unfortunately this didn’t quite work. It turns out that you need to call it exactly the same junit-4.8.2.jar. I thought this was because there’s an entry in the MANIFEST.MF file but I tried to change it and that didn’t work too well.

Renaming the Jar file however works a treat and now I have full JUnitMax action on my box.

I’ve posted on the JUnitMax forums about the problem here.