At 10+ person org sizes, most people can't have long-term scope and autonomy if the management don't know what it wants/needs, since they're just going to change their mind in a week or two. Once those decisions are made you can start delegating responsibility for execution.
The easy thing to do is to blame this all on poor management, but I think that's too pat. I think figuring out the best way to use a team of 20, 100, 1000 engineers to accomplish business goals is just an incredibly hard problem... and one that's often an ongoing, Sisyphean task, where high-bandwidth, low-latency communications are incredibly useful.