I just came back from the first meeting of the Software Craftsmanship Group.
Tonight Micah Martin
talked about Code Kata but added an
extra facet to it.
Micah proposes that, although practicing the Katas by yourself, in your spare time,
is valuable,
presenting your routine to an audience can deliver even more results. For the
presenter there is the opportunity to gain feedback from the audience (peers,
masters, even pupils.) For someone watching there's the chance of seeing another
peer (or even a master) in action and learn how other developers approach
problems and construct their software. By the way, it takes a non trivial
amount of courage to sit in front of an audience and write code, even if you
have practiced it several times beforehand.
To demonstrate this concept, Micah created a Ruby program that implemented
Langton's Ant.
I'll try to illustrate the results of this experience.
The audience - me (and many others)
Once Micah explained what the problem was, he asked that we watched him code
and be prepared to evaluate his performance (quality, smoothness, clarity, etc.)
Although I know a little bit of Ruby, I'm by no means a proficient Ruby developer yet.
Seeing someone that works with the language all the time in action would be interesting
no matter what. But there was more in it for me.
Micah, as a true BDD pratictioner, started by creating the specs with
RSpec and proceeded with the red/green/refactor
iterations until he achieved a complete successful specification execution.
There's nothing like seeing a technology at work to understand it better. Tonight's
performance contributed a lot for my BDD understanding.
The presenter
After the presentation we had to rate it (0 to 10) and give some feedback. There's
where the other Ruby and BDD ninjas in the room could make educated comments about
Micah's performance and average joes like myself could comment on less sophisticated
issues like font size and keystrokes.
Judging by the constructive feedback, I'd imagine the presenter's future
performances will be fine tuned and get better. On that note, the suggestion
is that the presenter moves on to a different Kata for each performance.
Buncha' Links