Thursday, November 04, 2010

Pretotyping, Best Patterns and History Lessons

The compression ratio of the content versus the timing available is quite high here at QCon. Already at the first official day, I attended 7 (!) talks. That's quite a lot of information to process. Unfortunately, the difference in quality is really noticeable. Some talks were absolutely awesome and inspiring, while some other speakers were simply reading out loud what was on the slides or reading them in silence (while keeping us wondering whether he forgot what he was talking about). As an occasional speaker, I'm surprised that so many of them made that many rookie mistakes.

The ones worth looking at included the keynote by Google's Director of Engineering Patrick Copeland. Regardless of him making fun of Microsoft, he gave a great talk about the value of prototyping software products using physical mock-ups. At first it sounded a bit strange or rather unlikely, but he showed some pretty convincing stories from Google's own product development efforts. The name he gave to that concept is pretotyping, and there's even a website about that.


Well, it's starting to get predictive, but Dan North's session titled Keeping Agile Agile was a blast and made me smile throughout his entire talk. Apart from the recurring Dreyfus model (which is in fact quite handy if you're an consultant like me that tries to improve other people's skills), he discussed the dangers of applying best practices without thinking. The problem, as he explained it, is that most people treat best practices as something you should do, regardless of the context in which you want to use it, and without considering the pros and cons. In fact, most advocates of best practices don't even mention all those side effects. That's why he suggested to refer to these practices as patterns instead of best practices. And that resonates nicely with the way the Gang of Four have been explaining their design patterns as well. However, if you ask me, any good consultant should be looking at the particular culture, history, problem domain and people involved before introducing any practices, patterns or other proverbial silver bullets.

Leonardo Mattiazi's talk on Agile adoption within a Brazillian company was completing the formal part of the day. Although he didn't really introduce any new concepts or innovations, he showed us the challenges he went through to successfully transform a company of passionate people into an agile adopting organization. His use of visual media and Twitter was very good and helped keep the audience awake after such a long day. During his talk, I challenged him a few times because it all felt so unnaturally positive. But I happened to enjoy some beers with him at the conference party and confirmed that he has been very lucky with such a great group of people.

However, the day was not over. Just before the conference party started we had another keynote by somebody I didn't know before. But Dan Ingalls appeared to be an icon in our profession and the founder of Smalltalk, the most widely referenced computer language whenever we talk about the history of object orientation. He took us through 40 years of computer engineering and appeared to have wisdom that could match Yoda's. If you have been monitoring the chatter on the #qconsf Twitter hash tag, you know what I mean...