I was reading this blog by Joel Spolsky about 12 steps to better code. The absence of Test Driven Development really surprised me. So I want to throw the question to the Gurus. Is TDD not really worth the effort?
Why is test driven development missing from Joel's Test?
programming practices;testing;code quality;tdd
Test driven development was virtually unknown before Kent Beck's book came out in 2002, two years after Joel wrote that post.  The question then becomes why hasn't Joel updated his test, or if TDD had been better known in 2000 would he have included it among his criteria?I believe he wouldn't have, for the simple reason that the important thing is you have a well-defined process, not the specific details of that process.  It's the same reason he recommends version control without specifying a specific version control system, or recommends having a bug database without recommending a specific brand.  Good teams continually improve and adapt, and use tools and processes that are a good fit for their particular situation at that particular time.  For some teams, that definitely means TDD.  For other teams, not so much.  If you do adopt TDD, make sure it's not out of a cargo cult mentality.