The failure is usually forced vulnerability
Icebreakers ask people to share something personal with people they answer emails to. That is not bonding, it is an audition. The quietest person in the room does worst, and they are often the person the exercise was aimed at.
Shared goals beat shared feelings
People bond over doing a thing together, not over discussing how they feel about doing a thing together. Any activity with an external objective — a problem, an opponent, a clock — gets colleagues cooperating without anyone having to announce that cooperation is happening.
Competition works, within limits
Teams racing each other is reliably fun as long as the stakes are meaningless. The moment a prize matters, the competitive people take over and everyone else disengages. Bragging rights are the correct prize.
Mix the teams deliberately
Departments against each other is the easy option and it reinforces the silos you were trying to break. Mixing them is more awkward for ten minutes and considerably more useful afterwards.
Give people a reason to talk that is not small talk
The value of a puzzle is that it supplies conversation. Nobody has to think of something to say, because there is a thing in front of them to argue about. That is why quizzes, escape rooms and hunts all work on groups that dread the alternative.
Keep it short and end it somewhere
Two hours is plenty. Ending near somewhere people can sit down turns an activity into an afternoon, and the part where everyone compares notes afterwards is usually where the actual bonding happens.
The test for any team-building activity is simple: would the people doing it choose to do it on a weekend? If not, it is a meeting with extra steps.
