There should be no (bad) rivalry between different teams of the same company, just that healthy sense of competition that always pushes you to do better. Yet, sometimes you can witness disfunctional behaviours that flow into a blame game.
Just to be clear: blame games are useless, they waste people's time and eat your liver. If you still want to play, you should at least know the rules.
One of these rules is very simple: CYA. When you're talking nonsense you're not covering it very well. Example: check this excerpt from a conversation between a system engineer and a developer:
Sys: The server is not working. The problem is the application.
Dev: The servlet container can only use less than 1GB of RAM, the logs show an occupation of more than 1.5GB. Could it be the antivirus?
Sys: Out of question.
Dev: How can you be so sure?
Sys: If it was the antivirus then the server would never work.
Dev: Right... then it must not be the application, otherwise it would never work, even without an antivirus :-p
Sounds insane? Yeah, the same that I thought. In another domain it would sound something like this:
Doctor1: The patient has a bad cough.
Doctor2: It must be the lungs.
Doctor1: Out of question.
Doctor2: How can you be so sure?
Doctor1: If it was the lungs then the patient would always have a bad cough
WTF??? have you ever heard something like this? do you realize there's something weird? do one of the doctors sound like an idiot? would one of the doctors lose your trust?
Remember: you cannot blame anyone when you're not covering your you-know-what, otherwise you could be, well, you know.
And, if you'll accept a hint, don't blame anyone, even if you're in a full cast iron armor. We got there because we got there, now it's time to go on, so let's go on.
You'll have more time and less enemies, and you will always get a better result.
When you see a disfunctional conversation on the horizon, keep in mind that the best thing you can do is sail away and avoid it. If you're stuck in it, escape.