A bit out of topic, but what is it that makes the article to have "inflammatory tone"? Would love to hear some feedback about this too to improve my writing skills.
It's effectively said that anyone that doesn't practice TDD isn't professional. Telling people they're unprofessional tends to piss them off :)
edit: In response to child post - That was my interpretation of this "It will make our work so much more efficient, motivating and a bit more professional."
I have to admit that I have a bad habit to write things a bit extreme way to start a conversation. How ever where did I do such a claim that if one does not do TDD is not professional?
It seems that I definitely need to improve my English. :)
I'm the author of the blog post. I'm very glad that it has gained already so much opinions and feedback.
As user ollysb, I'm quite surprised to notice that there seems to be more against the post than for it. And that was one of the reasons why I actually wrote it: You are smart guys, please proof me wrong about unit tests. I can only find good things in unit testing, so it seems that I have not fully thought it through.
ps. Did the post have "inflammatory tone"? It was definitely not my intention. Sorry if it did. I have done computer programming for living only just about 10 years and I am definitely not a professional in it yet. Which parts made it sound cocky? I would love to hear feedback for that too improve my writing.
Then you are simply not very experienced using it. You're in the love-phase where everything about some new technology seems wonderful, and since it's solved so many previous problems for you, you are blind to the warts and problems that come with it.
We understand your enthusiasm for it, unit testing and TDD are good tools, but they're just that. Tools. That you can choose to use if they fit the project.
Your blog post (and the previous one) both said that unit tests and TDD are always awesome for all projects. This is not true, and this is what people here are reacting to.
Yes, most likely the truth is that I'm not experienced enough of using it and the type of systems I build are limiting my view.
I also understand unit testing is a tool with it's limitation.
However, for me, unit testing is a good tool that helps me to proof that the code I did works. And I hope I would see more of unit tests on the field.
But as you said, probably the way to find the dark side of unit testing is just doing it and finding the problem. So I'll keep using the tool until I do.
I think I also really need to learn to write better. :) Where did I do such a claim that the TDD and unit tests are always awesome for all projects? I think I even did the opposite.
It seems that the blog post got attention before it was correctly reviewed. Damn you guys are fast :-)
The idea was not to push TDD or promote it in any way. It was a rant to devs who don't do unit tests. Someone else needs to one day fix their untested code without knowing if changing something in X will break Z and Y.
Even the title of the post is changed now. Seems to be too late though.
By the way, your comments are great, they gave me many thoughts.