A scrum master is the facilitator for an Agile development team; they are responsible for managing the exchange of information between team members. Scrum is a methodology that allows a team to self-organize and make changes quickly, in accordance with Agile principles.
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. The term comes from the sport rugby, where 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 -- or scrums -- the scrum master asks the team members three questions:
- What did you do yesterday?
- What will you do today?
- Are there any impediments in your way?
Although the title of scrum master sounds powerful, this position is not the project leader and is not held accountable for project outcomes; this responsibility is given to the team as a whole.
However, that also does not mean that the job is easy. The scrum master is responsible for:
- Helping the team to reach consensus for what can be achieved during a specific period of time -- referred to as a sprint.
- Helping the team to reach consensus during the daily scrum.
- Helping the team stay focused and follow the agreed-upon rules for daily scrums.
- Removing obstacles that are impeding the team's progress.
- Protecting the team from outside distractions.
The Scrum Alliance offers a 16-hour certification course that allows individuals to become Certified ScrumMasters (CSMs). The certification process includes explanations of the scrum framework as well as the various team roles, event and artifacts incorporated into Agile development.