Tuesday, September 9, 2008

Agile 2008 Conference

I attended the Agile 2008 conference in August. This year it was in Toronto. I like the city. The weather was nice and the conference was lively. This was my first time at this conference. Apparently it is growing every year, which is indicative of increasing popularity of Agile philosophy of software development.

There were many interesting sessions at the conference. The most notable of all was the keynote speech by Robert Martin, a.k.a. "Uncle Bob." I was already a fan of his writing. However, I did not have the opportunity to see him in person until this conference. If you haven't heard him speak, you should if you get a chance. It is not only the content of his speech that is interesting and insightful, but also his charismatic delivery is a thing of entertainment. This time he talked about the importance of "clean code," a topic of his new book. I am planning on getting it soon. In his speach, he pointed out how XP has become all about just 12 engineering practices (e.g., "thou shall pair program, thou shall have common code ownership, ...") and Scrum about certifications. The gist of his speech was neither approach is self-sufficient. He urged everybody to focus on writing clean code and not to take short-cuts. In his words, "Craftsmanship over Crap." Here is a picture of him speaking at the conference.

Equally interesting (but not as much entertaining) was another keynote speaker James Surowiecki, the author of The Wisdom of Crowds. He talked about how "wisdom of crowds" may apply to software development teams and more specifically to self-organizing teams. The gist of the talk was that a team carefully put together can collectively make better decisions than any individual experts. He elaborated this with a few interesting examples form real-life experiments. It jives with my thoughts on how a team can collectively act as an Architect.

However, the closing keynote speaker, Alan Cooper, got less than enthusiastic reception for his speech. He shared his unique view of software lifecycle, which is a hybrid of agile and waterfall. He also highlighted the importance of a less understood role "interaction designer" in the context of this software lifecycle. Even though I liked his thoughts on the role of an "interaction designer," but I, like most of the audience, was skeptical about his idea about the software lifecycle. You can find his presentation here. I'll let you be the judge for it.

I am already looking forward for the next year's conference already scheduled to be held in August in Chicago. I hope to see you there.