Iron Geek

ExtremeHour and RoomFullOfMeccano could combine to make a really cool TV gameshow just like IronChef.

We have two groups of ten geeks. One group does an ExtremeHour, the other does a RupHour?/FusionHour?/FlavoroftheweekHour?.

The "special ingredient" here is the project vision. And we could take bets - if we could convince the ThreeAmigos to pony up some of their ill booten gotty, we'd make a mint!

Well, we finally went and did this at the XpTwoThousand conference. The slides are at, pictures are on IronGeekXpTwoThousandPhotos, and here's some observations:

Things that worked:

Things that didn't work: In general, as far as I could tell, a wonderful time was had by all. In addition to the 24 participants, by the end of the 100 minute presentation we had a full house in the audience - about 200 people. Brilliant performances from all, I really hope we can make this a regular event. Maybe next time we can give every conference participant an opportunity to participate. -- PeterMerel.

It was great to see the two teams compete, no matter which won. As a spectator it was probably not as much fun as a participant, but it was still good to see how it worked. I will certainly try it out. PeterGassmann
I talked with Kent afterward and he didn't think that the first category of score, which was coolness of features, was really an appropriate one to grade a team on. Upon reflection, I agree. I would even go one step farther and say that the second category is not a good one as well. The second category was simply that the judges think the machine as designed would work. (Think about it...we're talking about machines made out of transparencies and ink.) The important thing to judge here is the team's usage of the XP process and not the finished product. I was thinking that seeing important XP behavior emerging would be scored. There was the point when Kent's team began to TestEarly before development was finished. There was also the time when a developer on Frank's team solo programmed a piece of the machine, but then threw it out and started over pair programming it. We should refactor our scoring mechanism to emphasize that kind of behavior.

Also as AlistairCockburn pointed out (I think it was AC) it is the team that wins and not the coach, perhaps in the future we should have teams created in advance and compete together instead of specific coach. The coach would simply be one more member of a team.

Another useful thing would be to hand out clipboards with score sheets to audience members. This would get a larger portion of the audience more into the game I believe.

More space. The teams could have benefited from removing the first 4 rows of chairs from the room.

Kent had run an extreme hour many times before and Frank had never run one. Generally speaking, the idea behind the extreme hour is to teach people what XP is about. If we look at it from that point of view Frank learned a whole lot more from the experience than Kent did. Unless of course maybe Kent learned never get involved in a coaching war in western Italy.

I myself liked the animations and interchangeability of parts given by the overhead slide format, but I have not seen the event run with white boards.

Now to answer Peter's claim that it was a BoatRace, I did try to judge fairly. But I was watching the Beck team exclusively during the competition because I was their reporter. Having audience members score would fix that problem.

I agree with the idea of customers from one team being the customers of the opponent's team. This sets up an adversarial role not unlike the real world in some ways. The team needs to then be scored on their ability to negotiate with the customers. However the customers must be reasonable during such negotiations, clearly a referee must watch the negotiations for fouls since it is at this point that the two teams interact. -- DonWells

Agreed Don, and apologies if you felt implicated in the IronGeek fixing scandal. Speaking as umpire and confederate, I take full responsibility for it. If there were a tribunal I ought to get banned from the sport. Heck, first person banned from the world IronGeek championships, now there's a dishonor I'd put on the rezoomee.

If memory serves me right (Ralph has the slides), the categories were originality/coolness, suitability to vision, quality of testing, quality of factoring/integration, and team integrity/fun. I wanted the first one because I thought it would inspire the customers to try to do interesting things. In my mind the second one wasn't so much that the machine would work - ensuring that is the tester's job - but that the stories were suitable to the vision.

I want to make it clear publicly that I feel very much in debt to Don for the fun we had in this event. If it weren't for his staunch support and exceptional diligence, it never would have happened. Don was also behind the SSQ ExtremeHour, and deserves kudos from me, not brickbats. -- PeterMerel

Speaking as one of the customers, I don't think we were conservative at all. For example, we threw in an off-centre requirement in the second iteration, just to liven things up. If we hadn't done so, our team might have shipped more (also, we didn't have suitable overhead pens!!!). Don't forget, we also broke the rules by calling in RonJeffries as a HighlyPaidConsultant to bring the team back on track.

An interesting innovation would be to have developers and testers separate in the first round, then integrated in the second, so they could experience the speed-up.

I'm not convinced about making customers adversarial. At root, most people want to ship - they get adversarial when things don't work out as they thought. When I've been running ExtremeHours, I've had the customers do the presentation at the end - it makes them concentrate on what they're getting and whether they really want to put their name to it in public.

In London, we've been moving more towards making the drawings a storyboard. It shows more detail (can't just draw another knob on the front) and is easier to estimate (count the frames).

Talking about involving more people (and inspired by the fact that it took place during the EuropeanCup?) we could run it as a league table, where teams are involved in takeovers at each round. The LondonExtremeHour has always been run with everyone participating, rather than as a show. -- SteveFreeman

As a Beck Team customer, I'm afraid we probably took the task too literally and actually tried to come up with requirements for a fishing robot (we even put a beer cooler on it in the second iteration). I like the idea of someone throwing a curve ball in half way through (some kind of unexpected regulatory requirement for example).

Generally, for an event like this, I suspect some more pre-game preparation would be helpful. This is not a criticism of IronGeek at all, I had a great time and really did learn some lessons about XP from it (Specifically that the team were great, working that way is fun and that a highly motivated and involved functional testing team makes a HUGE difference (thanks guys).

If I had time to prepare I would like to put more role play elements in there. Like pulling a team member out at some point, switching a customer out with someone else, maybe producing some joke background and 'pre-marketing' material to try and set the tone.

It would be really great to run it early in the conference, as an ice-breaker it was second to none! Steve's (or was it Peter's?) idea of a series sounds like fun. The scenario would be that the teams were different companies trying to fill a market niche, at the end of each session one 'company' would go under until we had our new monopolist by the end of the conference :-). -- TomAyerst

If you want role-playing, develop a set of actuarial tables, then roll dragon dice at fixed intervals to introduce random events! -- PCP

As the other one of FrankWestphal's customers, (the one who recommended MisterRonJeffries) and someone who's run a few ExtremeHours, I felt that an hour (or so) wasn't enough time for an IronGeek.

ExtremeHour works well in a short time with a few people, but adding so many extras to it (2 teams, inexperienced coach, the extra role-playing that Tom suggests, etc.) the fact that the teams were made up on the spot, and the complexity of the task (RobotFisherman? vs MouseTrap?) I think that I wouldn't run an IronGeek except in an ExtremeWorkshop? where I had half a day or so. Longer iteration time, maybe three iterations, more time to present the findings at the end etc etc etc etc.

ExtremeHour is quick, dirty and to the point. I think the added benefit of IronGeek needs extra time. (but I loved it :-)

-- AlanFrancis

Sounds like you need three teams, each of which has customers and geeks. You pair up Team A's customers with Team B's geeks, Team B's customers with team C's geeks etc.

As AlistairCockburn pointed out, it's a team effort. In this spirit, I'd like to give credit to the brilliant people on the team. The real IronGeeks are:

-- FrankWestphal

EditText of this page (last edited July 11, 2004)
FindPage by browsing or searching

This page mirrored in ExtremeProgrammingRoadmap as of April 29, 2006