Monday, October 01, 2007

JAOO 2007: A Retrospective

Why JAOO?
I left Aarhus last Friday tooled up with numerous good ideas, a dozen or so new Agile friends (you can never have enough of those) and a reading list the length of my arm thanks to acting on Eberhard Wolff's conference recommendation. Thanks Eberhard!

What worked well: Conference sessions - The Highlights
Jim Coplien on Scrum Architecture: Jim started by highlighting that use cases describe what a system does and architecture represents what that system is. A common problem on Agile projects is that a lot of teams become unstuck during the third sprint because there is no architecture. After all, architecture is what enables developers to work together. Jim therefore recommended we assert what we know on an architecture in order to provide a high level design, taking no more than three days, made up of abstract base classes and domain dictionaries (two sides of A4 per domain). Jim went on to say that TDD (Test-Driven Development) does not produce (good) architectures. That architectures cannot be derived from unit tests. That we should adopt architecture-driven design instead of unit-test-case-driven design. The session hit the sweet spot as a technical Agile session: suitably thought-provoking or controversial depending on how you interpreted his presentation.

Kevlin Henney on developer professionalism in terms of economy and elegance: Kevlin was eloquent, erudite and entertaining. He said that 'in searching for identity, we need to look beyond caricatures and preconceptions' and urged developers to consider the differences between engineering and craft. Kevlin described software engineering as a specialisation of information engineering. Because software engineering is an emerging discipline, it therefore follows that what we are experiencing is 'emerging professionalism'. That is all the more reason we should be cautious of the motivations behind our designs.

Eric Gamma on developers playing Jazz: Eric demo'ed Jazz, the new development management productivity tool integrated with Eclipse. It looks ideal for projects that can be developed using Eclipse and Agile. Eric described the Eclipse way as 'team first' and emphasised that there shouldn't be a need on teams for people to act solely as architects. After all, everyone on a technical team should be involved in architecture because they care about it.

Justin Gehtland on Ruby: Justin's enthusiastic delivery reminded me to take a second look at Ruby.

What worked well: Tutorials - Top Picks
Pollyanna Pixton on collaborative leadership: An unusual tutorial at JAOO focussed entirely on leadership with practical advice on how to hire the right people and deal with troublesome ones. Pollyanna's hearty humour and stories reminded me that Good Leaders exist.

Henrik Kniberg on Scrum and XP from the trenches: Henrik began by entertaining us with his piano-playing and went on to demonstrate by example how he implemented Scrum in thorny environments. He struck a chord when he said, 'Death marches are not allowed in Scrum' because I had said something along those lines just the week before the conference. Henrik was very creative in his delivery of the session and is the epitome of Scrum pragmatically and successfully applied.

Rebecca Wirfs-Brock on the art of telling design stories: Rebecca was a sympathetic and knowledgeable presenter who used technical examples and analogies to show us how to convey technical designs and present difficult technical situations to challenging audiences.

What could have been better: In summary
  • More Agile tech sessions like Jim's
  • More stylish and literary speakers like Kevlin
  • Make conference sessions more useful like tutorials
  • More networking opportunities like Diana Larsen's Open Space sessions which were excellent at bringing likeminded and contradictory individuals together with many leaving happy and invigorated