A Summer of Community Involvement

My kids are headed back to school in just a couple of days and that has me thinking about that what I did over the summer. It turns out, I did a lot of presenting over the last few months.

Agile Roots

On June 22nd, Zhon Johansen and I presented a hands-on learning experience as part of the Agile Roots 2012 conference. We spent the weeks leading up to the conference preparing a self-paced kata on London (Mockist) Style TDD in JavaScript. Because this was a self-guided kata, we put a lot of time and effort into making the instructions readable and easy to follow.

As part of our preparations, I presented the kata at the Utah Software Craftsmanship group on June 6th.  This was a great group experienced with katas, TDD, and group work like the Randori. Because of their comfort with these practices, they provided a lot of valuable feedback.

A week later, on June 14th, we presented the kata with additional updates at the Utah .NET User Group. This group was more of a challenge as the tools and language weren't as familiar. There were even people in attendance who had no TDD experience and some who didn't have development laptops.

With a few more days of work, we were ready or at least out of time. The presentation went really well and we have both gotten positive feed back both at the conference and since. This was my first national conference presentation and I was happy to have Zhon with his years of experience as my co-presenter.

Utah .NET User Group

After the fun we had with the JavaScript kata, the .NET User Group invited me back the next month to present on Legacy Code Rescue. We borrowed Michael Feathers' definition for legacy code: any code without automated tests. We spend nearly 2 hours adding tests to a pretty decent codebase. The slides and code are available online if you missed it. We covered a lot of basic and intermediate testing strategies which you can see if you walk through the git commits.

Utah Software Craftsmanship Group

You may have noticed a pattern already, so you won't be surprised to hear that I was asked to give a lightning talk on TDD vs BDD and NUnit vs MSpec at the August 1st Utah Software Craftsmanship group meeting. I demonstrated the Bowling Game kata in the NUnit style and the MSpec style. We then discussed as a group the differences between these two styles of unit testing. I concluded by showing how to use FitNesse to accomplish the actual goal of BDD which is that the whole team, not just the developers, focus on automated verification of business requirements. As usual, the code can be found online with instructions.

Public Speaking is Scarier than Death?

Obviously, I don't agree. I had a tremendous amount of fun this summer. I hope that the attendees at my presentations found them to be as valuable as I did.


Popular posts from this blog

Architecture at different levels of abstraction

TFS to SVN Conversion with History