Joh very kindly ran an extra-curricular evening for all of us last night. Held at the Pitcher & Piano, "Agile Fun Night" (for thus it was billed) involved a round of drinks, followed by what I guess I have to describe as an hour-long exercise in teamwork, using techniques from agile project management methodologies.
(FWIW: we're not "an agile shop", but we've adopted a few techniques which could be called agile, and continue to look at others, evaluating them and using them where they make sense and work for us)
In a preamble to the exercise, Joh had us all draw 2 faces onto cards, then collaborate to draw a single face with one other person.
The exercise involved us splitting into a team of 2 customers (Sergio and Thom), another team of 4 developers (myself, Jack, Ribot and Neil), and one QA/timekeeper (Devi). By complete chance, this left all of us bar Thom in roles which approximate what we do within FP.
The project was to build a park - using plasticene, sellotape, card, pipe cleaners and marker pens.
First, the customers wrote up their requirements in the form of stories onto index cards, and prioritised these requirements for us. We then wrote out short estimates for each one (in minutes to build) and worked out how many we thought we could deliver in an initial 10-minute iteration. Seeing as there were 4 of us, we allowed 30 overall minutes of work - which seemed optimistic to Joh, I noted, but happily we seemed to deliver all these initial stories (though I wasn't happy with the construction quality of my slides).
A short burst of QA followed as Devi (QA/Timekeeping) read through a series of tests she'd written for the first iteration (which I think we passed, with the exception of 1), and we moved onto customer feedback and a bit of negotiation with them over new requirements, new priorities, and the next iteration.
Next time around went way smoother; the quality of construction was noticeably higher, we got in a few artistic flourishes (a bridge over the river), and over-delivered (adding an additional story which we hadn't committed to in that iteration, and a requirement which we'd noted the customers state but not write down, for water next to the rock garden).
A really interesting process, I want to do another one of these games in a little while to see how we approach it, once we're familiar with the format: designing an airport has been mentioned.
At the end of the evening we return to the faces we'd drawn, and examined how collaboration had occurred here (we'd each been issued with different colour pens so it was easy to see who'd done what). One group had divided the face in half, Solomon-style, and done half each, and two of us had worked on different elements within the same face. We voted on the best pair and best individual faces.
Stuff I noted:
- We all quickly fell into roles and behaviour that I see in our day-to-day work;
- Negotiation and conversations with the customer seemed way more important, even with stories written down onto cards;
- Within the team, we tended to divide tasks early then reconvene towards the end of an iteration. Mindful of our spec-ignoring behaviour at coding dojos past, I was quite anal about getting us to check the original stories on the cards;
- The best team face wasn't done by the author of the best individual face (and vice versa);