CITCON London 2006 Retrospective

The Continuous Integration and Testing Conference (CITCON) was on last Saturday. I’ve only just got around to writing about it. There are already some other writeups available from the Comments on the Web page on the wiki. Anyway, here’s mine…

For me, the most unique thing about the conference was the manner in which it was organised – using the OpenSpace rules. In summary, the rules are:

Whoever shows up is the right group

Whatever happens is the only thing that could have

Whenever it starts is the right time

When it’s over, it’s over

It was fascinating to see the OpenSpace rules in action. On the evening before the conference, everyone met up at the hotel. Paul and Jeff started off with by introducing themselves, and then asking everyone in the room to introduce themselves as well. We then moved on to the creating the schedule. We started off with a blank whiteboard for the schedule. Various people had subjects they wanted to talk about (or hear about), and so they got up and wrote down their subject on a sticky note, and put on an empty space on the board. I thought that there might be some problems getting enough sessions, but the board filled up quickly, and was in fact over-subscribed.

After the proposed sessions were posted, we broke up for drinks and informal chats. Everyone had a chance to look at the sessions, and put a mark against every session they thought they would like to see. Anyone could re-arrange (or even combine) sessions on the schedule depending upon popularity, convenience and personal whim. It sounds chaotic, but at the end, there was a remarkably coherent set of subjects arranged. If you look at the photo set I took, there are an interesting series of photos showing how the schedule evolved over the evening and the morning afterwards.

Aside from the scheduling gymnastics, the sessions themselves were very free flowing. Because there were no real “prepared speeches” or similar, each session was very much a collaborative discussion on the agreed subject. I thought that this had many positive and a few negative points. On the positive side:

Discussions were highly interactive, there was little monopolisation of discussions

Attendees were drawn into contributing to the discussion just by the mere fact that they were there

Participants were all very positive and receptive to any discussions

I think the above points can be attributed to the fact that pretty much all the participants in the conference had decided to attend out of their own personal interest. They were all either deeply sympathetic to subject of the conference, or highly interested in learning about it.

The echo chamber effect is a phenomenon that people should be aware of in these situations. I didn’t see much in the way of conflicting or dissenting options during the conference. This means that the subject under discussion is either undisputed, or the people with negative opinions are not present.

On the negative side, the main issue I had was to do with the expertise of participants in some sessions. Because there were no prepared presentations before a session started, there was no real guarantee that there would be any unique insights gained. Some sessions degenerated into a group of people sharing war stories about problems they’ve encountered. However, even in these situations, there was often insight to be gained into a specific problem.

With those points made, I think it was one of the most interesting and dynamic conferences I’ve ever attended. I think that a lot of the attribution to this can go to the OpenSpaces format and the fact that all the attendees were very motivated on the subject.

These are the sessions that I attended:

09.00: Non-functional testing in a CI environment

10.00: Continuous code policing

11.00: Break

11.30: Managing complex builds with Ant

12.30: Lunch

13.30: How to write GUI tests

14.30: Continuous integration anti-patterns

15:30: Break

16:00: Build telemetry and statistics

In three of the sessions I volunteers to take notes to publish on the wiki. The session rooms all had projectors available, so I just plugged in my laptop and typed notes on the big screen as people were talking. I thought that it was a good way to capture the conversations as they happened.

I believe I got very good value out of all those sessions. In the non-functional testing session I was able to ask people about strategies to start performance testing in the environment at my new job. In the managing complex builds session, I was able to have a good chat with the Buildix guys about their strategies.

In the end, it was great to meet so many CruiseControl enthusiasts, devs and committers. I was hoping to get a good look at some alternative CI servers, but I only really caught a glimpse of the upcoming Atlassian Bamboo (which was interesting, all the same).