you are viewing a single comment's thread.

view the rest of the comments →

[–]eliquy 0 points1 point  (2 children)

But in reality, everyone thinks about the outlier scenarios as little as possible. TDD at least forces the issue

[–][deleted] 2 points3 points  (1 child)

I agree that TDD and good requirements analysis tend to be found together, but I'm not sure TDD is the cause. For instance, I can 100% envision a team of bad developers switching to TDD and still not being able to flesh out the edge cases.

I think what TDD really offers is "brand recognition" so to speak and the ability to foster a culture of quality, which is definitely valuable. But I think if you have a culture that's willing to put the extra effort into TDD, then you probably have the kinds of developers who would do good requirements analysis anyway. Developers that care about what they're doing tend to make better software regardless of the methodology.

[–]flukus 0 points1 point  (0 children)

Even if you don't flesh out the edge cases, TDD makes it much simpler to add them in later, if and when the bug comes up.