XP Day
It's about a month since I attended XP Day 2004. For personal reasons I was thinking of missing it, but I am very pleased that I went. It was very hard to decide which sessions to attend; at any time there was at least two sessions that I wanted to attend.
David Snowden
The Key Note speaker on the Thursday was David Snowden; he is an excellent speaker with many thought provoking ideas on organisations, people, complexity, chaos, and using narrative. I decided to sign up for his afternoon masterclass, which proved challenging - too challenging. Some quotes (from memory, so at best paraphrases):
He also discussed facilitation of project retrospectives with brainstorming techniques for moving from simplicity to the "edge of chaos" and back again.
Practices make Perfect Pair Programming (Andy Marks, Jo Waines)
Introduced as "a title in search of a presentation" this session kicked off with a brief presentation on choosing the environment for Extreme Programming and the importance of the coach, then on to the pair programming competition. In pairs we raced to complete the maximum number of (fairly low level and unit-like) acceptance tests in the allotted time. It ended in a dead heat with most pairs completing two out of six tests.
We took an early lead, being the only pair to (on my insistence) to start with the naive solution. Ater two tests we tried to refactor and then unfortunately noticed some utility classes that had been "made earlier": we got bogged down trying to figure out how to use the provided classes and trying to work out the ultimate purpose of the code.
Some interesting lessons:
- When a measure becomes a target, it ceases to be a good measure.
- Hospital Matrons were examples of Strange Attractors.
- If the Singapore Navy closed the Mahjong club, the Intelligence could no longer talk to Operations.
- Humans use first fit pattern matching to make decisions; not rational or even best fit pattern matching.
- An amusing animation starring the construction worker from The Village People.
- An illustration of why multitasking is evil.
- An excellent analysis of The Waterfall as vicious circle (my interpretation) - the drivers behind adopting Waterfall and how this makes those problems worse.
He also discussed facilitation of project retrospectives with brainstorming techniques for moving from simplicity to the "edge of chaos" and back again.
Practices make Perfect Pair Programming (Andy Marks, Jo Waines)
Introduced as "a title in search of a presentation" this session kicked off with a brief presentation on choosing the environment for Extreme Programming and the importance of the coach, then on to the pair programming competition. In pairs we raced to complete the maximum number of (fairly low level and unit-like) acceptance tests in the allotted time. It ended in a dead heat with most pairs completing two out of six tests.
We took an early lead, being the only pair to (on my insistence) to start with the naive solution. Ater two tests we tried to refactor and then unfortunately noticed some utility classes that had been "made earlier": we got bogged down trying to figure out how to use the provided classes and trying to work out the ultimate purpose of the code.
Some interesting lessons:
- if we'd stuck with naive solutions we would have won; I'm not so sure that this has wider lesssons.
- it took much longer to try and figure out how the utility classes might help us, then it would have been to ignore them. This resonates with thoughts I've been having on "not invented here" not been an anti-pattern after all.
- each team is close to a set of customers. This was given as the primary reason.
- Every five days 15 days worth of increments are released. Having the same numbers work on the code at the same time would introduce different (and perhaps more intractable) issues.
- the morning and evening video meetings (UK to USA, USA to Singapore, Singapore to UK).
- people swapping: at any time a number of developers on any team are "foreign".
