That being said, there are a few good ones, but they mostly come from Agile organizations.
Here are the qualities I've found in the good PMs: - Strong technical background and highly intelligent. They went into PM not because they were weak engineers, but because they wanted a change.
- They know when to get out of the way of the engineers when they need to. They provide a healthy amount of autonomy rather than being glorified taskmasters.
- They can provide effective "air cover" for the engineers when other groups start hassling them and slowing them down. They view the removal of obstacles as their most important role.
- They know progress is best demonstrated by working applications, not specs, spreadsheets, or charts. They strive to have something demonstrable to the project stakeholders at the end of every iteration.
- They are generally low ego, and don't play political games. They strive for results above all else.