Should we ever “give up” on someone? Agile or not, development or normal life, people are always the biggest challenge. Difficult people are obvious targets, since by definition they do things that most people don’t want to deal with on a day-to-day basis. But can we help them become less difficult?
Just what is a difficult person? I actually welcome a healthy level of skepticism. If you’re not skeptical about things, you’re probably not pushing boundaries as often as you should. I can help a skeptical but open-minded person by answering their questions and guiding them through necessary self-discovery and acceptance of a new idea. With some people, however, skepticism instead grows into a potentially unhealthy attitude, whereby they resist differing ideas at all costs. Stated from their point of view, “I’m right and you’re wrong.”
Sure, if you’re absolutely right in your reasons to avoid something, it’s an appropriate response. But that’s almost never the case, particularly when we’re talking about something like TDD or automated testing. People have achieved good levels of success with diametrically opposed ideas, strategies, and tactics. What that means is that someone who wants to argue every last point against their presumed opposition is being close-minded. Sometimes they cross over the boundary into pure contrarian–even if you agree with them on a point, they still find a way to argue against it!
I felt regret most of this weekend about a post I made to one of the agile lists last week. After an exchange of a few nit-picky posts, I stated that I wasn’t going to waste my time any more. It was soon apparent that the other poster was going to shred virtually every line I wrote, never mind trying to find any common ground. Now I don’t feel bad at all–blowing hard at brick walls is a huge waste of time.