A scrum master is the facilitator for an agile development team. Scrum is a methodology that allows a team to self-organize and make changes quickly, in accordance with agile principles. The scrum master manages the process for how information is exchanged.
Although the scrum analogy was first applied to manufacturing in a paper by Hirotaka Takeuchi and Ikujiro Nonaka, the approach is often used in agile software development and other types of project management. In rugby, opposing teams huddle together during a scrum to restart the game. In product development, team members huddle together each morning for a stand-up meeting where they review progress and essentially restart the project. During the daily meetings, which are sometimes called "scrums," the scrum master asks the team members these three questions:
1. What did you do yesterday?
2. What will you do today?
3. Are there any impediments in your way?
Although the title of scrum master sounds powerful, the scrum master is not the project leader and is not held accountable for outcomes. The team as a whole is responsible for outcomes.
That does not mean that the job is easy, however. The scrum master is responsible for:
1. Helping the team to reach consensus for what can be achieved during a specific period of time. (See sprint)
2. Helping the team to reach consensus during the daily scrum.
3. Helping the team to stay focused and follow the agreed-upon rules for daily scrums. (See pigs and chickens)
4. Removing obstacles that are impeding the team's progress.
5. Protecting the team from outside distractions.
Watch a Scrum 101 tutorial: