Test Driven Development (update)

See, I've been reading Joel Spolsky blog for about two years now, and I've always considered all his opinions to be more than valuable. I could say every time he speaks, I nod :P

So, if you write an article criticizing Test+Driven+Development, which is one of the methodologies with most buzz nowadays, you expect a lot of people to just disagree or think you're nuts... after all, test driven development is cool, isn't it?.

That being said, when Joel and Jeff Atwood refer to the topics you have mentioned and basically confirm what you've already said... well, I must say I feel flattered. Mostly because these two have a big impact in the internet, secondly because I usually agree with what they say a hundred percent, and thirdly because ... it's cool to be right... or at least having popular people agree with you.

About what they say (is a transcript from one of their podcasts), well, what can I say? Just a little thing, in the end Jeff says:

...because what matters is what you deliver to the customer, and how happy the customer is with what you've delivered. There's many, many ways to get there.

Well, that's right but, what does it have to do with what we are talking? Every methodology is design having in mind that objective, everyone wants to deliver an exceptional product to the client; well actually everyone wants to make money out of delivering that exceptional product. So, of course there's many ways, what we are talking about is choosing the best way to do it, that's what methodologies provide, a way to do things, an structure for how to work.

In the end, methodologies are just part of the equation. Other parts include common sense to adapt to each situation, the appropriate set of tools and mainly, the people who work on the project. In that way, I'm not saying making unitary tests is bad, quite the contrary, is doing them for everything what is bad. Why? Because we're failing to use our common sense to tell us what should be tested and what doesn't need to.

And that's basically the problem with Test Driven Development, since tests drive the development you have to make them for everything that needs to be developed, otherwise they will not drive...

Average: 4 (5 votes)
Your rating: None