I've seen some recent posts in the user groups about eliminating the distinction between developers and testers on teams. One word – Hogwash (that’s the polite version).
The best developers I've worked with create beautifully engineered and usually bug-resistant code. They do this with passion and will commit every once of their soul to the purpose. Now, if they're a bit more enlightened, they'll like the idea of unit testing and build out a [j|n]unit test suite for their component. Often, here the passion dissipates and testing isn't quite as complete as you'd like it to be. I've yet to truly experience test-first, but I am sure its out there somewhere.
Now testers are a different beast entirely. They are devious. They will take this piece of artwork, conspire with others, and meticulously commence punish it in every way conceivable. They will do this over and over again with a fervor that it at times frightening. They can't be stopped in their search and destroy quest. And worse, yet, they will document and publish every last detail of their escapades.
These are two very different personality types that are very good at specific activities. There is a difference between good testers and developers and good leaders will recognize and leverage this to build the best possible products.