Cope vs. Uncle Bob: Architecture through TDD

Does doing TDD make you a professional? Software debates can be dry at most times, but this debate between Robert C. Martin and Jim Coplien (“Curiously Recurring Template Patterns”) gives rest to the notion that TDD can be substituted for good (up-front) architecture. Though friendly and jovial, I found the talk to still be enlightening, particularly hearing Cope’s opinions on XP and the benefits of doing CDD (contract-driven development).

“On the other hand I don’t believe architecture is formed out of whole cloth. I believe that you assemble it one bit at a time, by using good design skills, by using good architectural skills, over the weeks and months of many iterations. And I think that some of the architectural elements that you create, you will destroy; you will experiment in a few iterations with different forms of architecture. Within 2 or 3 iterations you will have settled into the architecture you think is right and then be entering into a phase of tuning. So my view of that is that the architecture evolves, it is informed by code that executes, and it is informed by the tests that you write.”  – http://www.infoq.com/interviews/coplien-martin-tdd