As a developer, I don't see the PM as a boss or planner. It's the guy that handles the communication with all the people that don't understand what I say and ensures that they don't annoy me.
A PM is not optional when you want to have developers that have time to code and don't get distracted by thirty people that all want something else and all ASAP.