Maybe you get this one project out the door, one team wins, the other one loses. Great. And then what? Half the other team quits since they didn't get that bonus and feel betrayed by management. The other half stays, but resents both management and the "winning" team. Now you reshuffle, and those guys have to work with each other. Start the game anew, with a new project? Great, now people know what's up and will play their cards accordingly. Infighting is guaranteed. That's a terrible way to manage teams. Short-term gain? Maybe. Long-term destruction? Basically guaranteed.
The "without any justification" part of your answer dismisses that that's exactly what the original article is about that we are discussing here. That alone is justification and it matches many people's experience.
I'm personally experiencing the exact opposite these days. I'm thriving on my company not doing this nonsense and we are doing fantastic!
The key thing is that nobody's presented any evidence, just some anecdotes. Clearly there are places that have internal competition and have done quite well, like Amazon (compared to e.g. GCP), or many trading firms.
It's anecdotes from people having experienced anxiety, toxicity and overall bad work climate leading them to either quit or seriously consider it themselves or hearing it from their colleagues.
And it's other anecdotes saying "some companies have done quite well".
I personally have experienced it and I won't go back. And I have also personally experienced the opposite and now I'm having a blast without this nonsense.
But sure, let's just say "nobody has evidence, maybe it's great, maybe it's not".
Your argument that Amazon does great does not provide evidence. Maybe they's do even better without this crap, or maybe the employees would be happier.
As someone who has read histories and has been inside a courtroom, I’m curious what you mean by this.
...if failure is independent, sure. Not only is independence generally a dangerous assumption, but in particular when it comes to software engineering, it's been shown that problems are not independent. I don't have the reference at hand, but if I did, I could show you that completely separate teams tend to make the same mistakes.
The opportunity cost is the productivity of an entire team of developers who might well be better employed doing something useful.
Plus all the bad feeling when one team "loses."
It's irrational sports cult management - competition good, cooperation bad.
It's how it works in a lot of successful trading firms; Jump Tower and Citadel for instance have competing internal teams. Reduces the risk to the firm because if one team's approach fails, chances are another will still be doing okay.
Rather than just outright dismissing what he said without any justification, did you consider that he actually had evidence/experience that it indeed did reduce the cost? In terms of risk in particular, having two teams work on the same product significantly reduces the chance of not having a viable product by the deadline. Assuming e.g. a 50% chance of failure, having two teams reduces this chance to 25%.