Take the 2-minute tour ×

Possible Duplicate:
TDD negative experience

I would like to read about negative experience related to developing in the TDD style. Looks like it is very difficult to find this kind of article since Google is filled by positive views. Are there any good articles that reflect the negatives of TDD?

share|improve this question
When there's no buy-in. –  user414076 Aug 3 '11 at 18:02
Whenever you have to develop a very small piece of software very quickly. Also, whenever you are writing throw-away code (like when you just want to compute something once). –  davidhaskins Aug 3 '11 at 18:09
When it was written by those who failed FizzBuzz but were hired anyway? ;) –  Job Aug 3 '11 at 18:35
In my experience about 1 month after it is implemented or whenever the next crunch happens, whichever comes first. The developers just revert to their old habits unless you continually force the issue. –  JohnFx Aug 3 '11 at 18:52
TDD is like Communism, it looks like paradise when you read about it but then inevitably some power hungry dictator always ends up ruining it. –  maple_shaft Aug 3 '11 at 19:56
show 2 more comments

marked as duplicate by Anna Lear Aug 4 '11 at 13:41


1 Answer

I recently read TDD Is Not An Algorithm Generator! and it reinforced my opinion that TDD doesn't work well when you don't know how to solve the problem. Sometimes you just need to get in and hack around until you get the result you want.

After you know how to solve the problem, you can start fresh with TDD to build the well-tested version you'll eventually commit.

share|improve this answer
Pretty sure you just described the prototype stage (en.wikipedia.org/wiki/Prototype) :) (and I agree that TDD doesn't really belong in prototyping) –  Demian Brecht Aug 3 '11 at 20:28
Lol, it is not enough to put 100 million code monkeys behind typewriters before you end up with the next OS; you also need one QA person to figure out when they should stop re-typing. –  Job Aug 3 '11 at 20:49
TDD tells you when the problem is solved, not how to solve it. This is not a failure of TDD, anymore than it is the fault of the hammer that it cannot turn a screw. –  Steven A. Lowe Aug 3 '11 at 21:01
@Steven: Nobody's saying that this is somehow a failure of TDD. This entire question is simply asking when TDD might be the wrong tool for the job. That being said, TDD isn't a "hammer", it's an entire set of assembly instructions; it absolutely does try to tell you how to solve the problem ("Red, Green, Refactor") and very often that's not appropriate to the problem at hand. –  Aaronaught Aug 3 '11 at 23:29
@Steven: Hammers are hammers. –  Aaronaught Aug 4 '11 at 2:11
show 8 more comments
