Last Thursday I got the opportunity of attending Software Craftsmanship 2009, a conference about agile methodologies and test-driven development.
The conference was divided in three tracks, many of them happening at the same timing on different rooms. I attended the following:
Three paradigms: Taking An Extreme Position on Code Style in a Safe Environmentby Keith Braithwaite
A series of three short exercises to be done on an existing base of source code, a small project comprised by a data provider, a controller and a data transfer object. For each exercise, Keith give the audience some time to bang their heads and reach to some kind of conclusion. After that, people discuss about the solutions proposed. Of course, none of these changes could break the logic of the program, that means basically, do not break the tests. It was my impression that the bottom line of the exercise was to show that unless you do not break the test whatever change you make in a program is still valid (for the better or for the worse). It was also my impression that there was not definitive answers.
TDD As If You Meant Itby Keith Braithwaite
On this talk Keith proposed a small problem to be solved: considering the Japanese board game Go, write a program to determine when a stone is in an atari state. Perhaps the problem was the less interesting thing, here the point was solving the problem following a test-driven development way. First,write a test that fails, add some implementing code to make it run, later move that implementation code to a class when you have enough code. Here the audience was asked to paired with someone else. I got to recognize that my experience on TDD is very limited, but I was lucky to pair with someone with more experience than me. The interesting thing was that although most everyone recognized to do TDD on their daily basis, they found the task very complicated, since they tend somehow to approach testing in other ways, not starting from the root of the problem they want to solve. This was truly TDD as you meant it, an eye-opener seminar.
by Steve Counsell (Brunel University).
It was a lecture about refactoring in open source, a project carried at Brunei University. Firstly, Steve started defining the term of code smell. A term coined by Kent Beck to mean “a surface indication that usually corresponds to a deeper problem in the system”. Later Martin Fowler would pointed out several refactoring tasks you can do on a project to reduce code smell. Steve used this tasks as metrics and with the help of a tool developed at Brunei university, they managed to gather some statistics and conclusions on 10 to 15 java open-source projects. Someone in the audience asked if this tool was also open-source. It seems it was never freed but Steve seemed opened to doing it.
5 Reasons To Have A Coding Dojo At Your Companyby Ivan Sanchez.
Ivan explained the concept of a coding Dojo, and immediately after we got a hands-on Dojo. We worked on an existing source code base, two people paired and carried the development of the program for over 5 minutes. The audience could suggest solutions, shorcuts, whatever. When the time expired, the driver left, and another member of the audience come in.
Unluckily I missed Programming In The Small by Ivan Moore & Mike Hill . It was my first time in London, and despite leaving early in the morning I found myself lost in the tube on my way to the BBC Media Center.
Anyway, it was a very good conference. The atmosphere was of excitement and at the end of the day it seemed people was waiting for more. I wish I had a deeper knowledge on TDD and could have taken more advantage of the seminars, but I could at least grasp the basics and participate. It has broaden my mind on TDD so my expectations are fulfilled on that sense.
Lastly, I would like to mention the splendid organization of the event (catering service included), the caring of Jason Gorman and colleagues who help him on the organization and the support of the BBC and its Backstage strategy. After the event, the BBC kindly invited us to a tour at the television center. Although I missed my chance of having myself spot close to Doctor Who’s tardis, I enjoyed very much the pints at the BBC Club and the chatting with the guys from Songkick and other BBC IT workers.
It seems very likely there will be a next edition next year, but perhaps bigger. Don’t miss out!
PS: In case you want to learn more check the summary video by Jason on YouTube!