I recently made the trek to XP/Agile Universe, held August 4-7 in the suburbs of Chicago. This conference was the successor to last year's XP Universe, the first XP conference in the US. Conference attendance was up nearly 50% to 326, surprisingly good given current economic conditions. Participation was also high; according to the organizers, nearly 100 people prepared for the conference in advance, generally by writing papers, giving tutorials, or planning sessions. The main conference was three full days, with an additional day of tutorials.
As the name change suggests, this year's conference broadened the focus from Extreme Programming alone to include a number of related development methods, collectively called agile methods; these methods included Crystal, DSDM, FDD, and Scrum. What makes agile methods different? According to the Agile Alliance, a primary difference is that they value:
- individuals and interactions over processes and tools
- working software over comprehensive documentation
- customer collaboration over contract negotiation
- responding to change rather than following a plan
It's not that they are opposed to, say, following a plan. But rather than using a pre-fixed plan as a reason to resist to new requirements, Agile methods are tuned for welcoming change.
The conference opened with three introductory presentations. The first was from someone on the forefront of the agile movement: Martin Fowler, author of the eye-opening book Refactoring. He began by taking a straw poll, which suggested that attendees were about 40% developers and 50% managers, with the balance made up by testers and analysts. Roughly 40% reported themselves as experienced with at least one agile method; another 40% were still learning, and 20% of the audience was there to evaluate agile methods.
Fowler began his main talk by asking what was new and important about agile methods. Pointing out that none of the practices themselves were new, he focused instead on its its attitude to people and the way it welcomes change rather than resisting it. Especially interesting was his comment that the adopting of agile methods is much more a cultural change than a technical challenge.
Next up were two venerable and widely respected experts on traditional software development models: Watts Humphrey and Barry Boehm. Both Humphrey and Boehm were excited by the creative ferment of the agile movement, and both suggested that processes like XP were at the other end of a spectrum from traditional processes.
Traditional processes grew out of massive projects, on the scale of thousands of developers. Agile processes, in contrast, were developed for much smaller teams. Boehm suggested that scaling agile processes would involve adding more practices from the traditional processes, which he referred to as "plan-driven" versus the agile "planning-driven" process.
The theme of inclusivity continued throughout the conference. There were six different sessions introducing a variety of agile methods. The was even a presentation from Rational about the Rational Unified Process, something not normally associated with agile methods. After explaining that RUP was neither a process nor a "process framework" but a "process platform," Rational's Gary Pollice said, "I won't claim that RUP is agile, but I will claim it does support agility."
During the banquet speech by Robert Martin, founder and head of Object Mentor, he made clear that XP should not be considered a religion, but rather a craft. Intermingled with a lively demonstration of jujitsu, he suggested that the many approaches to development are like a martial art: The pursuit of mastery in a particular school does not mean that we can't learn from the others. This theme was a timely one; many presenters made similar points.
Roughly a third of the conference space was dedicated to what became one of the most exciting aspects of the conference: a self-organizing process known as "Open Space." Many who go to conferences have had the experience that the most valuable parts often are conversations with colleagues, not the on-stage speeches. Open Space attempts to capture that value in an organized way.
At the beginning of the Open Space track, Michael Herman, an Open Space facilitator, explained that anybody could organize a session: you need not know enough to present on the topic; you just had to be interested. That organizer would write the title on a large sheet of paper and pick a time slot and location, posting the sheet on a long wall. Anyone could then attend the session, and discussion would hopefully ensue.
Like XP itself, Open Space at first sounds like a recipe for chaos, but in practice produced great results. "It was the best part of the conference," said Paul Hodgetts of Agile Logic. "At conferences the experts usually just lecture to you, but with Open Space we got to sit down with them." The notes from the sessions were captured by the attendees an put in a Wiki on the conference Web site. Chet Hendrickson, an organizer of the Open Space track, felt that it was so successful that he is now considering a series of 1-day XP Open Space sessions around the country.
I discovered two exciting products at the conference; one is commercial, the other open source. The first was called Small Worlds, an impressive OO design analysis tool. It looks at existing code, producing dynamic UML diagrams used for navigating the code. It also produces extensive design critiques and metrics. When I try to help my clients understand how to improve their designs, it's often difficult to convey the problems with their current designs; I expect that such a clear visual presentation of their current design will help.
The other is called Prevayler, a Java object persistence layer that claims to provide equivalent reliability to using a database as your backing store, but at thousands of times the speed. The catch? All your business objects have to fit in RAM, but given the low price of RAM, that's not a big catch for many projects. If it works well in the field, this will be a radical shift from current practice, so it's appropriate that the home page links to a FAQ for the skeptical.
Overall, I found the conference to be well worth the time and money. I returned to San Francisco reinvigorated, and excited to help my clients with the adoption of the various exciting agile practices. I am already looking forward to the next Agile Universe conference, expected to be held August 10-13, 2003, somewhere on the eastern seaboard.