James Bach has some good things to say about “best practices”, namely that they don’t exist and we are wasting our time trying to figure out what they are. He’s a testing guy, but all his points can be applied to software development in general.
My favorite quotes:
“There are no best practices. By this I mean there is no practice that is better than all other possible practices, regardless of the context. ”
“Excellence in an intellectual craft simply cannot be attained by ignorantly copying what other people say that they do. ”
“Go ahead and follow your favorite practices. Just don’t preach that the rest of us must follow them, too. Keep your process standards to yourself. If you want to make a suggestion, make one that takes context into account.”