The idea of having a project manager is ridiculous. People _should_ manage themselves and take ownership of the project. Making the PM useless.
The idea of having a project manager is ridiculous. People _should_ manage themselves and take ownership of the project. Making the PM useless.
The N^2 communication overhead is OK, because PMs are just useless overhead anyway.
I heard sometimes building projects fail because the PM only understood what was supposed to be happening and who was responsible for what, as opposed to having advanced plumbing, HVAC, electrical and structural engineering knowledge.
</sarcasm> (I don't usually resort to it... promise...)
(Note: I am not saying that construction workers are idiots, I am saying that programmers are not idiot-construction-workers.)
There is not just one way to organize a project.
At the level of abstraction of PM, software is exactly analogous to building skyscrapers, building a rocket, producing a theatre production or capping deepwater horizon.
You are right that there is not just one way to organise a project. However, if the project is being organised at all, at least one person is doing project management.
It's just that the acting PM(s) may not be formally trained it in, or have "PM" as their job title. That's fine.
When you're done, I'd love to hear your thoughts on PMs, and why we're still making the same mistakes we made, and wrote books about, 30 years ago.
[1] http://www.amazon.com/dp/0932633439/
[2] http://hbr.org/product/new-new-product-development-game/an/8...
I do know lots of developers who don't think there should be product managers either - but in my experience they either have incompetent product managers or are working on a developer-centric product where they themselves have the domain expertise they need.
Having a good PM ensures that when ambiguities arise, they can be solved in a single way to allow those doing the coding to continue on unaffected.
Having 10 different people "take ownership" of a single project is itself a recipe for a different type of disaster.
Certain resource roles (e.g. business analysts, UX specialists) can provide advice on the impact of decisions on the business case and the users, while others provide technical input, but project decisions typically cut across more than one of supplier / business / user interests, and it is in the interests of the business to ensure that someone can integrate the requirements of all three.
Having a project manager (or equivalent role such as an agile 'Scrum Master') is not incompatible with employees taking ownership of the project - decisions that only affect the supplier, or fall within ranges that the business / user is happy with can be taken by the suppliers. Often, the PM's role is to facilitate agreement between the different stakeholders.
It is possible for the PM role to be shared amongst the suppliers, but it is not usually a good idea for a big project, because being a PM is a specialist area in its own right hat developers have to learn separately from their specialist technical skills, and spreading the role across too many people can mean that context switch inefficiencies mean the PM role doesn't get carried out.
If you have a small startup you can probably only hire people who can manage themselves. But as soon as you want to grow big, that becomes very very difficult.
Unless you're Valve, who apparently has been able to do it =)