George V. Reilly

The Bowling Game

Bowling Score Sheet

There’s a flamefest going on at the moment between Robert "Uncle Bob" Martin and Joel Spolsky over the value of Test-Driven Design and the SOLID principles. I find TDD valuable and I’m reading Martin’s Clean Code at present.

Poking around in the links led me to Uncle Bob’s Bowling Game Kata, a Powerpoint deck demon­strat­ing using TDD to score a bowling game.

Ron Jeffries has a very ugly OO im­ple­men­ta­tion and a cleaner procedural version of the Bowling Game. Digging around in the archives of his XP Magazine turns up many other ru­mi­na­tions on the Bowling Game

At Atlas, I was loaned to one group that used the Bowling Game for a pair-pro­gram­ming interview. I found it to be a valuable exercise. It showed us whether the candidate could actually code or not and it gave us a feel for what it would be like to work with them. It gave the candidate a taste of Agile work practices like TDD and pair pro­gram­ming. Of course, in a real pair-pro­gram­ming exercise, I would have been actively making sug­ges­tions instead of holding back.

We in­ter­viewed four candidates while I was on that team. Two passed, were hired, and worked out. One failed, failed other interviews, and was eliminated. The fourth candidate was very ex­pe­ri­enced, gave great whiteboard while talking through the exercise at the beginning, and turned out to be completely horrible. He floundered badly and wrote ugly, buggy code. That eliminated him, even though he had done well on the other rounds.

blog comments powered by Disqus
Twitter and Facebook » « Ulysses 2009: Circe