What is a Microsoft Program Manager?
A picture is worth 1000 words:
The arrows indicate what you have to worry about:
1) Customers should not have to worry about anything. Sometimes they do. That isn't good.
2) Dev, Test, and Doc only have to worry about the current release, and only about their bit of that release. They also have to be focused on the specific technologies they need to do their jobs. Of course, the best Dev, Test, and Doc people know what customers want, what is coming down the road, etc. and the best PMs do have detailed technical knowledge.
3) The PM has to worry about the Dev, Test and Doc teams. This includes making sure that communication is flowing, that we are all working toward the same goals, etc. The PM has to make sure the product is what the customer wants and needs. The PM has to make sure that the project plans for the next releases are being developed, and that the next releases will address the customer issues that just can't be addressed it the current release. And the PM has to worry about everything else.
I've also included the lines indicating who reports to the PM. That's right, no Dev, Test, or Doc people do (maybe some other PMs do). We are on our own. What we get out of Dev, Test, and Doc is what they want to do. We have to convince them that they want to do what we think is needed.
I'm not trying to be too serious here. This is an interesting description of what it sometimes feels like to be a PM at Microsoft and it does give you an idea of the various responsiblities involved. However, in the end, it is all about team effort.