In June, I wrote a post about the role of the Scrum Product Owner in a website project. For this post, I'll outline the role of the Scrum Master and how it differs from the Product Owner role.
Scrum Master vs. Product Owner
In traditional projects, there is often one single Project Manager that works to make sure the team is working on the highest priority tasks, staying on task, and moving the project through each phase to completion (often as quickly as possible). What can happen if the PM isn't extremely careful, is that their role becomes that of a task master and there's a lot of "Are you done yet?" but very little advocacy for team sanity, because the PM is trying to hold the goals of the stakeholders (do more and faster!) and the goals of the team (make clean code, maintain work balance) at the same time, but stakeholders can tend to overshadow the team.
In scrum, holding the goals of the client and holding the goals of the team are separated. The Scrum Product Owner keeps track of stakeholder priorities and advocates for the project. Whereas the Scrum Master holds space for the team, making sure that they are working at a sustainable pace, that there are no impediments to their success, and that they feel confident that they can acheive the short term goals set in front of them.
Facilitating Learning and Removing Impediments
Adopting Scrum Practices, Empowering the Team
A Scrum Master's job is to be the primary coach of Scrum principles. The Scrum Master leads scrum meetings (daily stand ups, sprint planning meetings, sprint reviews, sprint retrospectives) until the team feels confident to do it themselves. The Scrum Master also facilitates the use of scrum artifacts like the sprint backlog (where all pending work is listed and prioritized) and sprint burndown charts (where the individual sprint's pending tasks are tracked over the course of a sprint).
The long term goal is that the team will be so comfortable with Scrum practices, they can lead themselves. At that point it is possible to have what are called Working Scrum Masters, who also work directly on the project. Sometimes the Scrum Master role even rotates throughout the team members on a sprint by sprint basis.
Advocating for the Team, Removing Impediments
A Scrum Master is also the official advocate for the development team. In sprint planning meetings, when the Product Owner works with the team to define what is possible in the current sprint, the Scrum Master acts to balance the expectations and hopes of the Product Owner, asking "what is really possible in this sprint?" rather than "what do we hope is possible?" In daily standups, the Scrum Master helps the team members to identify impediments and work to clear them so that the team can move forward.
The SWS Way
In Web Services we call impediments "blockers" and have a giant inflatible hammer we smash on the ground when someone on the team has successfully "smashed" a blocker. Blocker Smashed!
What Scrum Masters Are Not
A lot of what defines Scrum Masters is what they are not. The Scrum Master is not the boss, they don't provide team directives or define the project priorities. That's the role of the Product Owner. The Scrum Master also isn't a scrum dictator. Scrum Masters need to be flexible and work to implement solutions for the team without following scrum practices so doggedly that they are causing impediments. Scrum practices should be adopted over time and a good Scrum Master will work with the team to find the right scrum fit.
Scrum Mastery in a Nutshell
A Scrum Master:
- Teaches scrum practices to the team, empowering them to adopt those practices and run with them
- Leads scrum meetings as necessary
- Advocates for the team, ensuring that they are working at a sustainable pace
- Helps identify and remove impediments to keep the team moving forward in the project
- Does not define project goals and priorities
I hope this post has been helpful in explaining the difference between Product Owner and Scrum Master. If you're interested in learning more, check out Agile Atlas: http://agileatlas.org/atlas/scrum#scrummaster