Monday at the Dojo, none of us who were present had a prepared exercise, or "Kata" to present. So, we decided to do "Randori" instead; that seems to have the meaning of "free exercise" - proper form still being required.
The way we decided to structure randori turned out to be quite interesting. We had a pair sit down at the keyboard, and go three times through the TDD cycle - write a test, see it fail, make it pass, refactor. After three tests, the pair's navigator became pilot, someone else became navigator, and on we went in round-robin fashion.
This turns out to be a lot of fun, rather fast-paced - though I now want to experiment with 2-test or even 1-test round-robin variants. It has a feel that I suspect is close to ping-pong programming, which I've never really tried.
An interesting tension arises with respect to tests that we expect to pass the first time. This feels a bit like "wasting" one of your three tests - and I expect this would be felt more acutely in the 2-test or 1-test variants. So we try a little harder to have the first test we write as pilot be a failing test.
If that test wants something bigger than we can implement in a couple minutes, we're in trouble too; on occasion we had to go back and delete a test we'd written, so we could go back to a green bar and start over with a more modest next step. That hurts plenty.
Posted by Morendil at March 8, 2005 11:36 PM