Great post. I would have loved to hear the "boxing
match" between you and Jim. I let out an observable sigh
every time I hear nonsense such as "TDD will deteriorate
your architecture." Such words are always said by
someone that hasn't done the work to learn TDD.
Sadek: It was meant as a half ironic remark.
as I said I have a full blog post on this subject that
has a more "balanced" look.
In the meantime, I do mean it to say "don't listen to
him until you get the full picture"
well ok, now i prefer this one "don't listen to him
until you get the full picture"
Hi, Roy,
Just to help out your readership, and continuing in the
rich vein of half-ironic remarks:
If they shouldn't listen to me, then who _should_ they
listen to (I mean, besides you)?
Is there anyone else that we shouldn't listen to? I take
it that your filtering criteria are along the lines of
agreement with your position rather than on the basis of
any rhetorical or dialectic principles?
There is only one case in which I advise people to not
listen to someone: when they attempt censure. Let me
then take this rare opportunity to exhort people to
ignore your censure and to grab every perspective they
can with both hands. The evidence for TDD is shaky and
the evidence against it is growing (as in the two
research papers I related at JaOO). We need industry
dialog on this and I think that many have something to
offer — even those whose objectivity we might call into
question because they have a vested interest relating to
their stake in writing a book on a related topic or
something.
My position comes not from a vested interest but from
broad experience applying TDD in software all the way
back to the late 1980s at Bell Labs, and in hardware all
the way back to the 1990s in Bell Labs and in a company
called DAFCA (I'm not making this up) whose raison
d'être can be viewed as supporting designers to do
TDD-for-hardware.
So I won't be so foolish to say that to get the full
picture, you should listen to me, but I do feel I have
part of the picture. Like you, I'm willing to put my
cards on the table. I'll let the reader judge the
results for themselves, and prefer that to having
someone else judge for them.
Tell you what: let's start getting that Agile conference
together and let's bring some people together to sort
this out in workshops, panels, and the like. I think it
could be fun, and it would be good to pick up where we
left off — and, as Sadek points out, to get to the other
half of the story that seems to have vanished from your
post.