Broad speaking it is the job of the Scrum Master to ensure that the Scrum Team adheres to the Scrum theory, practices and rules.
The Scrum Master is part of the Scrum Team and acts as a servant-leader for the Scrum Team. In the beginning this will be a full-time job so that the Scrum Master will not be able to directly contribute to the Sprint results. However after some Sprints the processes will settle so that the workload for the Scrum Master will drop and he could actively contribute to the Sprint Goal.
Since it is crucial that there is trust between the Scrum Master and the other team members it would be ideal if the Scrum Team selects the Scrum Master itself. However, in reality most often the Management selects the Scrum Master. To get the required trust the Scrum Master should have no line-management responsibility for one of the team members. Otherwise the necessary open communication and decision finding will be hampered.
Responsibilities of the Scrum Master
The Scrum Master has several important responsibilities:
Guard the Scrum Team from external requests and disruptions
Act as a change agent and adapt processes to maximize productivity of the team
Coach the Scrum Team
Remove impediments for the Scrum Team
Ensure efficient communication between the Scrum Team and the Scrum Product Owner
Facilitate the various Scrum Events
In order to effectively do this, a number of skills are helpful:
Guarding the Scrum Team / Removing impediments
An important job of the Scrum Master is to guard the team members from "urgent requests". Line-Management or the Scrum Product Owner will often try to assign new, unplanned and not committed requests to the team or individual team members. However one of the key aspects of Scrum is that all deliverables and work-packages are known and committed by the Scrum Team before the Sprint and that the Scrum Team can work 100% on these deliverables. The job of the Scrum Master is to discuss such requests and to either postpone the request until the next sprint starts or to cancel the current sprint and start-over.
The developers within the Scrum Team should only concentrate on developing customer value by delivering potentially shippable functionality. The Scrum Master helps by removing impediments that block or hinder development. Examples could be organizing meetings, clarifying questions or performing supporting work.
One of the cornerstones of the Scrum Framework is continuously improvement through inspect & adapt. The Scrum Master hosts and moderates the Scrum Retrospective Meeting and his job is then to facilitate the change of the identified shortcomings.
Facilitation of Scrum Events
The Scrum Framework defines several meetings that have to be organized and facilitated by the Scrum Master: