Here's a great article from Joel Spolsky, which makes the point that management is not about command and control, but about providing support:
Thus, the upside-down pyramid. Stop thinking of the management team at the top of the organization. Start thinking of the software developers, the designers, the product managers, and the front line sales people as the top of the organization.
The "management team" isn't the "decision making" team. It's a support function. You may want to call them administration instead of management, which will keep them from getting too big for their britches.
While there is certainly plenty of decision-making required at the "top" (mostly about strategic direction and key hires), the decisions on what to do to react to specific daily business situations should be driven by those closest to those decisions.
The sad thing is, management gurus like Peter Drucker have banged on that drum since the 50's, and yet many businesses still operate as if centralised decision making was viable to build large businesses. It's not. As Spolsky (and, a few decades ago, Drucker) point out, centralised decision-making is simply not scalable.
That being said, of course, "building a large business" is not everyone's aim. If you don't want your business to get big anyway, you can probably sustain centralised decision-making until your business gets to a few people or so.
If you read this far, you should follow me on twitter here.