I am a big fan of rational discourse and debate. Healthy, rational communication is at the heart of effective and productive collaboration (including software development teams), and thus should be encouraged whenever possible.
One of the most interesting parts of studying logic is the study of fallacies. Recognizing fallacies -- both in your own and your opponent's (I mean your collaborator's) rhetoric -- is a sure fire way to keep your discussions rational and on topic.
Thus it follows (see I'm using logic here) that the better you know fallacies, the easier it is to avoid using them, or be tripped up by others using them.
This line of reasoning of course assumes that human interaction is in fact logical, but the sad truth is that emotional arguments win the day far more often than logical ones do. But there is hope. I have a solution, and it is (of course) inherently logical
In order to promote rational debate, I hereby propose that a great way to ensure your rational discourse stays rational is to immediately take a fallacious argument and make it absurdly fallacious.
If someone, starts to use a subtle ad hominem (i.e. personal) attack -- e.g. you explain the pitfalls of using a given solution by describing a similar situation experienced by another team, and someone responds by saying the lead programmer has lousy design skills -- you can immediately end pseudo-rational debate (and thus leave the door open for rational debate) by saying that your opponent is dumb.
See how easy and effective this is? You don't even have to use the same fallacy to counter their fallacy:
If someone starts to delve into a veiled appeal to authority (ad verecundiam) -- e.g. you wish to automate your builds using NAnt, instead of using Visual Studio and someone puts forth the argument that MS built the tool, therefore it must be appropriate (true story) -- then you can immediately force the argument back into rational territory by trotting out an ad baculum argument: pointing out that you are bigger than they are, and could kick their ass if they don't agree that your idea is better.
And so forth.
So, if you feel (as I do) that this approach is a sure fire way to get your team's discussions back on to a rational footing, you are going to need some ammunition -- err I mean resources -- so that you can move beyond the tired old ad hominem and ad baculum retorts, into more refined (read: politically savvy) discourse.
It is with this noble goal in mind that I offer up one of my favorite resources for my blog readers to share: Stephen's Guide to logical fallacies.
Enjoy! And I hope your arguments (err I mean discussions) turn out as fruitful -- and rational as mine have.