That's not to say that you don't need managers -- of course you do. You need someone to negotiate with the client, you need someone who makes sure that the work is divided up in good shares and that everyone can deliver their part in time.
Managers make more money than workers. Which means there is a constant stimulus to get out of producing stuff and into management. Any large corporation is teeming with managers whom nobody is entirely sure what they do -- I've seen it at Cap Gemini.
And as the skills needed to produce the goods become more and more esoteric (like, for instance, software engineering), skilled workers become scarce. In times of great demand for that particular skill, the shortage is padded with people who do not possess the necessary skills, or who do not possess the necessary skills at a high enough level. We've seen this happen just prior to 2000, with the IT-hausse fueled by the so-called 'millenium bug'.
These non-skilled people are of little use to you when you are actually making stuff.
At CG, I've been part of a project for a client where we had to build a personalised website. The client was a bank, so the Finance division put someone on the project, and I had to coach this person. When I visited him on-site, I always caught him blathering to the client about one-to-one marketing and personalised websites and how great it was going to be. But I had to explain to him how to iterate over all the records that had been returned as the result of an SQL-query. I kid you not, this is a true story.
My 'colleague' (truly a misnomer, because he certainly wasn't in the same league as I was) was worthless as a software engineer. He took weeks for a project that I could have done in a quarter of the time, with two fingers up my nose.
Obviously, he was not fit as a software engineer. That wasn't his carreer plan anyway, he wanted to become a consultant or a manager.
This is why there are lots of managers, and too few skilled plumbers or electrotechnicians. This is why managers are more readily available in IT than skilled programmers. All chiefs, no indians.
And as the unskilled masses are promoted to a managerial position because they can do the least damage there, there is pressure on the skilled people to stay where they are. When the R&D division at CG was dismantled, one of my colleagues, who knew lots about XML, wanted to acquire a junior management position at another division. His would-be bosses didn't want to hear anything about it: they needed him with his fingers on the keyboard!
As unskilled managers manage skilled workers, we get situations like those out of a Dilbert strip, or Office Space. It's funny because it's true. Everyone with a bit of a career in IT has worked at a place where people did their jobs despite the management, instead of because of the management.
Ideally, workers who possess the skills needed to complete a task will hire a manager to manage them for a task. This would put the workers back in charge -- resulting in a better motivated workforce and higher quality projects/products. There would be an incentive to acquire skills and to keep on using these skills -- instead of everyone looking for the fastest way to become a manager.