I wonder if, one day, people will realize that none of this stuff really matters. Write and comment your code clearly, think your designs through, and comply with your team's conventions so that people know what to expect.<p>None of this stuff (TDD, TAD, XP, Agile, whatever) is computer science. None of it is science <i>period</i>. They're all essentially shamanistic rituals which "work" by giving you a direction so that you can start writing code. If you find a methodology works for you, great! Use it! But all this squabbling about the <i>one true path</i> is nonsense.