Scrum is defined at a low level where a small team is collaborating and a PM doesn’t seem necessary. That is because someone is doing the heavyweight work higher up to make Scrum possible. Someone has to drive the organization to convert requirements into a manageable product backlog. In my experience, I spent a huge part of my effort at the beginning of the project not establishing the project, but doing the business analysis for the prouct owner and writing the requirements spec. Similarly, as Karl descibes, there will be a PM at a higher level orchestrating the many scrum teams involved in larger releases.
Like the Architect, the Project Manager is often left out when discussing Scrum but it is my belief that they remain critical to the software development process. The Scrum Master (SM) works primarily at the team level to remove impediments and facilitate the work of the team. The Project Manager (PM) works at the Enterprise and Program level. The PM is concerned with the product road map and coordinating the work of several Scrum teams over several releases to ensure that product goals and deliverables are met and that the Product vision is satisfied. The Product Owner in turn deals more with Product vision at the Enterprise, Program and Release level. Yes there is some overlap but the points of departure are different. The primary reason I hear that the PM should not be the SM is that PM’s by nature tend to drive the work while SM’s are supposed to facilitate team driven work. That is not to say that a PM couldn’t make an excellent SM, it all depends on the individual.
My take on this is that SCRUM is a methodology for software development teams to deliver product functionality in time based releases. The PM still needs to plan the project phases such as startup, initiation, requirements analysis, software releases but the developers agree and deliver the content of the releases. For my projects I am the product owner and a senior developer is the Scrum Master.
Project manager role in the scrum are based on my experience:
Discuss with the product owner to get the backlogs
Plan for the number of iterations required and bring the iteration plan
Arrange daily standup meetings / demo to client
Review the deliverables/user stores/design docs
Plan for the incremental release
Ensure all the documents are maintained properly
Project the burn down effort and project the project status.