Rands, you've hit on the core problem of management, software engineering and many related fields such a military logistics: information processing doesn't scale well.

A computer with two CPUs isn't twice as fast as with one. A team of 5 engineers doesn't work 5 times as fast as a single engineer. There's always overhead. Eventually the overhead grows to the point where you spend more time dealing with it than with the problem itself. That's management. That's software engineering. That's logistics.

What's software engineering about? Dealing with information processing. 99.99% of time spent on any software project is stuff *other than* typing in the code. It's making sure one guy's code will work with the other guy's code and that the whole thing will do what the customer asked for in the first place.

Software engineering is the answer to dealing with huge projects that are too complex for any one person to deal with. You don't need design patterns, requirements specs, object-oriented design paradigms and all that crap to make a little program that plays tic-tac-toe. These are tools that try to tackle complexity. They're not there to make coding easier but to make the organization of the coding easier.

Likewise, management is what happens when you need to run a large organization. The managers are there to manage the complexity of figuring out what each employee should be doing. They break up the information processing work of this huge, complex thing into chunks that the tiny capacity of the human brain can deal with. At the end, you put those processed chunks together and hope for the best.

Do I have an answer for you? Hell no! But if there's any point to this is that no matter what solution you come up with it's gonna suck. Not because you're not a smart guy but because it's an intractable problem. Once in a while you can get a good management solution for a particular company of a particular size at a particular time, but that's maybe the best you can reasonably hope for. (And of course, that's all you asked for to begin with.)

Possibly the ultimate example of all this is politics. Democracy is horribly inefficient. You'd think that if everyone gets a vote, then the majority would get what they want. That only works some of the time and even then only for simple issues that have a yes or no answer. Sometimes the majority gets what only a minority wants and other times everybody gets what nobody wants!

Like Churchill said, it's a horrible system but the alternatives are even worse. Why? Cause we don't have a good way to deal with decision making in complex systems.