A Scrum Master is:
"a servant-leader for the Scrum Team... [and] helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t." (The Scrum Guide, 2013)So what makes this role necessary for you to have in your Scrum team? I've picked out 3 reasons that have resonated with me the most:
1. You need another perspective
While by definition Scrum teams are self-organizing, sometimes teams get a little too complacent about their pace of work. Estimations begin to get buffered too often and moving-that-story-to-the-next-sprint becomes an all too common occurance.
A Scrum Master helps keep the team in check. They do this by questioning why committed work isn't being completed. This gives the team a higher sense of accountability when someone else is trying to improve it.
2. You can't remember everything
Time-boxing, a specific amount of meetings and all the other Scrum related goodness, can be hard to adhere to and sometimes even remember.
A Scrum Master knows and enforces the theory, practices and rules of Scrum. They make sure meetings stick to their allocated time, ensure the team is being 'agile' and provide some order to the otherwise free-form art of agile software development.
3. Your own personal superhero
Impediments, blockers, bad stuff - they can't be avoided. Whether a stakeholder isn't being clear or someone from 'the business' wants to add requirements mid-sprint, nobody seems to care.
A Scrum Master makes it their duty to stop "bad stuff" from happening. They help remove blockers and make sure Scrum helps develop valuable software and that crazy dreams concocted on the 50th floor by some old-hat business person remain just there.
So what are you waiting for? Go get yourself a Scrum Master today!