I'm certain that I'm not the first person to run into this scenario, so I figured I'd throw it out there and see what the SO hive has to say. As a disclaimer, the person on which I base this question is not someone I currently work with.
What is a tactful but effective way of showing someone that some of their "old dog" habits have fallen out of favor or have been replaced with more effective or manageable solutions? The dynamic nature of development tends to support a LOT of backward compatibility when it comes to methodologies, so an "it doesn't work anymore" is rarely an honest option, but often these old habits have been superseded. For example..
- Always write wrappers for framework methods, since they'll change and break your code. Never call anything in the framework directly
- Don't use properties, because anything that could execute code should be in a method/function. That's what they're for.
- Never use third-party libraries, since they'll break
The list goes on, and I'm sure that people here have an impression of what I'm getting at. A lot of these aren't even methodologies, per se, as much as they are kneejerk reactions to the prospect of change.
How do you (and, by extension, how do I) deal with scenarios like this and maintain a good working relationship with these people?
EDIT:
I've gotten a couple of comments on the nature of the examples. These examples are designed to show the unyielding mindset, rather than illustrate a fault with any particular habit.