On a recent ARCast Ron interviewed Jeffrey Palermo.  The thing that really impressed me was that he really separated the Agile principles from implementation approaches.  The fact that the goal is working code over comprehensive documentation and that designing by testing is just one way of getting there is a much more rational statement than I often read.

Similarly there is an ARCast.tv clip with Peter Provost where he discusses TDD.  The great thing is he discusses where architecture fits with TDD.  He states that architecture is the over arching view of how things fit together and addresses larger business requirements.  That along with concerns such as scalability and maintainability.  The test driven methods are used more at an individual component level.  This makes more sense to me than the impression that I often get that TDD just evolves the entire system magically.

I'd like to see more open discussions with this sort of bent.  To me there is no silver bullet.  In the end we need to create systems that fit the user's need that developers can understand easily enough to maintain.  I believe Jeffrey's point is that these are the type of principles that we should focus on.