I am switching my office entirely to Agile Development. So that will be on my list of 43Things.
People doing this are also doing these things:
Entries
I certainly write test first much more than I ever did before. Maybe even most of the time.
This goal is just too big though. Maybe I’ll take up writing test first for 30 days instead so I can actually accomplish it.
autotest (from the zentest package for Ruby) is rapidly becoming one of my favorite test first tools. I leave a window running autotest in one corner of my screen, and hacked away in an emacs session—viola, continual feedback. I love the way it keeps me focused on developing one test at a time, and refactoring without going off the rails.
autotest is also a great way to show some of my co-workers how nice Test First can be. People seem intrigued by autotest running along and showing my red, green, refactor cycle.
I just read an article by Cory Foy over at Apress’ Blog site called: The Guitar Lesson – a TDD Analogy. Cory lays out a nice little explanation of why testing is so important even though it may seem counterintuitive when you’re just starting out.
Creating a code in the test-first style is a pure joy. If you haven’t tried it, find a pair programming partner and give it a go. It is remarkably difficult when you first start and you’ll find yourself quickly reverting to your code-n-fix ways, but keep focused and life will be good on the other side.
Milythael and I decided to try asyncronous ping pong pairing today on r43. It wasn’t quite what either of us envisioned going into it, but I think it worked out nicely.
I chose a new method we needed to implement and I wrote a base set of tests. Milythael did the same for another method, then we emailed each other out tests and wrote code to satisfy them.
It ended up feeling almost like a game. We traded a couple of emails and IMed a bit to hash through things, but it certainly would have been better to be sitting at a common workstation to see what the other was doing.
Tim O’Reilly wrote about a TestFest in June (I wish I could be there, it looks like it’ll be fun).
zenspider keeps talking to me about going one step further with test first programming and trying out Ping Pong Programming (why is it that the coolest ideas have such silly names?). This morning, I found a great article about it: Ping Pong Programming, by Dave Hoover.
Ten minutes without a test is a great article about the pain that ignoring tests brings. Whether you’re writing code test first, or just doing unit testing, this is well worth the read.
I wrote a tutorial about coding test first for ibm. Hopefully, it’ll help more people start writing code this way.


