But if you think about when stuff really happens, you sort of need all those people working on one project.
It's tempting to say, oh there's not enough work for a sysadmin full time. Really? do you have solutions for backups, logging, monitoring, and upgrades? does it all really work? I don't mean to harp on sysadmins, programmers don't test, managers coast through meetings.
Amazon's everything is a service seems like a nice way to be somewhat resilient against that kinda stuff.
I think when stuff is broken out the other way, by function rather than project, managers want to protect their resources. Use as few resources to complete the narrow task, rather than doing what really needs to happen to be successful. (like actually handling failure modes)
Big organizations have the evaporation problem too. A system can be really dysfunctional, but it's fine as long as it makes money. When competition heats up, the smart people just go find other jobs. So, the second best and second brightest take charge. They solve problems as well as they can, but often it's stuff like stopping reimbursement for cell phones.
It's hard. There's a season for everything. Organizations grow and thrive, get sick, recover, change shape, all sorts of crazy things.
I've put a lot of thought into this, usually immediately after being forced to sit on my hands because some other department isn't doing their job, and it wouldn't surprise me if they're blocked for the same reason.
I can't think of a good way to do it.
Perhaps having a back channel to communicate with department heads/managers where work blockages can be reported and dealt with, but I'm not sure how that would be implemented, or if it would even work. But after 3 years in the trench where I am now, it seems very much like a large enterprise only moves as fast as its slowest department...