¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

[TDD] Design & Evolution of TDD?


 

It's mostly on the XP list, and that quite by accident.
What happened is that the original XP had all of the
pieces, but they were just that: pieces. You put them
together and the software construction process just
flowed.

Then several people noticed that the pieces that are
part of TDD actually linked together tightly, and formed
something where the sum was greater than the parts.
I know that's a hackneyed phrase, but sometimes it's
quite appropriate, and this is one of them. Kent named it
TDD and wrote a book about it. The rest is history.

The pieces in TDD go back a long ways. Kent's
genius in Simple Design wasn't creating a new design
method, it was in throwing everything else out.

Refactoring, for example, is probably the newest
of the pieces and it wasn't exactly new when XP,
let alone TDD, was created. However, people who
just refactor sometimes get into states where they
flounder around. Simple Design gives a goal: if it
doesn't either remove duplication, increase expressivity
or simplify some piece of code (make it smaller) it's
not worth doing. And if it breaks tests, it's wrong.

John Roth

----- Original Message -----
From: "Chad Austin" <chad.at.imvu.com@...>
To: "testdrivendevelopment@..." <testdrivendevelopment.at.yahoogroups.com@...>
Sent: Thursday, October 19, 2006 11:05 AM
Subject: [TDD] Design & Evolution of TDD?


Is there a book or even an article about some of the design decisions -- or
thoughts or realizations -- made during the evolution of test driven
development? I'm especially interested in how the simple rule "remove
duplication" was discovered. (The power of that final step has consistently
amazed me, across so many contexts.)

Chad


Keith Ray
 

Some of the pieces of XP/TDD were described as "Programming Episodes"
-- a paper by Kent Beck and Ward Cunningham published in one of the
PLoP books

I don't recall if something resembling TDD was in those "Episodes",
but it might have been.

PLoP = Pattern Languages of (?) Programming

IIRC


 

?PLoP = Pattern Languages of Programs, as far as I remember.

Check: