When I worked on fighter aircraft, I witnessed the harm that a lack of communication caused. The shining example was the F-22, which had contractors in over 30 states working (to spread congressional support) with classified protection in place. If I wanted to speak with an engineer who wrote the firmware for a board I was working on, there was a week's delay in arranging the call on a scrambled phone line with a security officer present to ensure we spoke about nothing too specific.
That was a joy. It's no wonder the F-22, which was so late and expensive to build and maintain, was cancelled after a small fraction planned were built.
Fast forward 30 years and I'm working with a publisher on a large franchise game that has six studios and hundreds of developers working on the next iteration. There are language and time-zone barriers, and most of the studios are organized by discipline silos that have limited communication locally. Because it's a billion dollar franchise there are armies of project managers pumping out reams of documents that lay out a clockwork plan, defined to the hour level, about how the project will be executed.
It's the same as previous iterations, where the plan eventually fails to execute and a lengthy period of crunch and feature compromise is hit at the end. Just like the F-22.
Large games and government projects can work. They require breaking down silos and educating everyone about the entire system, not just their part. We want to, as General Stanley McChrystal puts it, "fuze generalized awareness with specialized expertise". We want hundred of people making the right decisions for the whole, rather than relying on just a few.
Agile can help, but too many times we see cross-functional swarming teams formed under rigid hierarchies of management that results in these teams working on their "parts" with a limited "need to know" about what the others are doing.
It takes a much deeper organizational change than with just development. It's not a development problem alone.