The ScrumMaster's role
As ScrumMaster you must have a deep understanding of the Scrum framework. Your job is to help the customer and team work very closely together so that the team completes the customer's most important requests first; incremental features allow the customer to give feedback and thus shape the product with the team's help. You facilitate the team members to reflect upon ways that they can improve their day-to-day communications and processes—and you inspire them to take appropriate actions. You help customers organize their thoughts about features and importance based upon the functionality demonstrated at the end of every sprint. Ultimately, by supporting team members who can self-manage and be empowered to make decisions for themselves, you are creating an environment in which people and creativity will flourish. Finally, through an unrelenting focus on and effort toward improvement, you help the organization at large find ways of stopping activities that are wasteful in order to put more resources on value-added activities.
Core knowledge
The ScrumMaster understands the Scrum foundational concepts. In other words, you can easily vocalize why certain game rules exist to those who may struggle with Scrum:
Ralph Stacey's diagram and further thoughts on human behavioral dynamics and organizations as complex adaptive systems
Takeuchi and Nonaka's The New New Product Development Game (Harvard Business Review, January 1986)
Ken Schwaber and Mike Beedle's Agile Software Development with Scrum (Prentice Hall, 2001)
Jeff Sutherland's contributions toward Scrum and organizational success (various blog and White Paper Publications—see http://scrum.jeffsutherland.com/)
Difference in scientific management and self-management (various sources; read up on Frederick Winslow Taylor and contrast with Peter Drucker's knowledge worker)
The myth of multi-tasking and its impact on human productivity (one of my favorite sources is Slack by Tom DeMarco (Crown Business, 2002)
Team dynamics, Tuckman's stages (see http://en.wikipedia.org/wiki/Forming-storming-norming-performing as a start)
Social psychology frameworks such as Maslow's hierarchy of needs, Mayo
Lean systems thinking by Toyota Production System: Beyond Large Scale Production, Taiichi Ohno, Productivity Press, 1988 and Mary Poppendieck's Leading Lean Software Development (Addison-Wesley Professional, 2009)
Responsibilities
From running the sprint to helping the product owner to working obstacles, a ScrumMaster's responsibilities are varied and numerous. As discussed earlier in the book, your duties can sometimes be overwhelming and can feel like it's more than what one person can do.
Running the sprint
As ScrumMaster, running the sprint will feel like the mechanical set of things to do; in fact, I consider this the easy list. Keep in mind that it is through short cycle times with focus on delivering value that the team discovers everything that gets in the way of delivering value. Running the sprint will inevitably surface obstacles—from the exciting to the mundane—that you will have to remove with unrelenting courage and tenacity. Remember that the ScrumMaster shepherds the Scrum process in order to provide visibility into the resulting potentially shippable product increment at the end of every sprint; in doing so, the team and product owner achieve the ability to inspect and adapt both product and process. While seemingly simple to do, the sprint's yield is the critical input to improvement; that is, the resulting set of features shown at the sprint review is not only the end state of that sprint, but also the input into the next.
In running the sprint the ScrumMaster:
Schedules the scrum meetings and invites appropriate stakeholders:
Proactively identifies people who might be interested in the sprint's outcome.
Sends invitations via calendar or other means well ahead of time, so that interested persons may elect to attend.
Realizes that some flexibility may be in order. If the product owner, for example, is traveling abroad and cannot attend the sprint review, the ScrumMaster may decide with the team to push the meeting out by a day or engage the product owner throughout the sprint to accept features as they are ready.
Helps the team deliver high-quality features by facilitating actions toward improved communication, a focus on quality, updated tools, and creative practices
Works with the team and product owner so that they are prepared for sprint planning
Handles logistics for meetings (meeting rooms, food, supplies, and so on)
Follows up on parking lot and action items after meetings; works to improve facilitation for next time
Establishes common goals for meetings and encourages participatory decision making and team consensus
Removes obstacles that prevent the team from achieving their sprint goals
Assisting the product owner
The ScrumMaster knows that the product owner's team participation and preparation of the product backlog will contribute to team success. Thus, the ScrumMaster:
Ensures that the product owner is maintaining the product backlog—knows where to keep it, the appropriate frequency, and depth of updates
Helps the product owner write product backlog items and acceptance criteria if needed (that is, holds a story-writing workshop for product owners to learn the user story format)
Reminds the product owner of the value of grooming sessions and offers to schedule and facilitate these discussions
At any chance, brings the product owner together to directly discuss implementation issues and ideas with the team; refuses to be the go-between between the product owner and team members at all costs
Influences the product owner to test/accept the team's sprint features as soon as they're complete, not waiting until the end of the sprint to see new functionality
Includes the product owner in all Scrum meetings
Asks that the product owner share important business collateral with the team (product vision, roadmaps, and so on) and assists the product owner in preparation if needed
Encourages a visible product backlog to which everyone may contribute
Reminds the product owner to prepare the backlog for the next sprint cycle (decompose backlog items, write acceptance criteria, get estimate from the team if needed)
Regularly checks in and offers assistance to the product owner
Creating a high-performing Scrum team
A ScrumMaster knows that a high-performing Scrum team will create products that customers love. In order to create such a team, the ScrumMaster:
Removes obstacles, and then encourages team members to remove their own obstacles
Blocks and handles interruption from any source, protecting the team members from the distraction
Protects the team construct: cross-functional, dedicated, empowered team
Does not allow team members to be taken from the team
Recruits missing skill members for the team upon the team's advice (or enables and encourages existing team members to learn new skills)
Helps them discover new ways of working (for example, helps the team adopt Extreme Programming practices)
Encourages investigation into tools and infrastructure that supports the lean concept of building quality in
Supports pairing and learning within the team
Supports learning across teams; challenges the organization to build in learning opportunities for teams
Educates team members on the benefits of test-first mind-set
Empowers team members; encourages risk-taking; delegates
Inspires the team to realize greater potential
Applies adaptive leadership styles appropriately
Utilizes open, collaborative, and honest communication style
Allows the team to self-organize whenever possible, eventually leading to team self-management
Helps the team develop good problem-solving skills
Displays a positive, trusting attitude
Helps the team plan realistically
Encourages shared roles and responsibilities toward an over-arching team goal; makes such goals visible
Helps the team to increase efficiency and reduce time spent in meetings—get in, get out
Making progress visible
A ScrumMaster needs to perform the following tasks to make the progress visible:
Work with the team so that they know and understand their velocity for effective planning, commitment, and delivery
Ensure that the team is making its sprint status visible
Help the product owner gather data in order to understand and publish release status
Escalate obstacles in a timely fashion so that they're quickly resolved
Keep track of obstacles that haven't been resolved; revisit at a later, perhaps more appropriate time
Alert management to the costs of lingering obstacles, when possible
Work with the team and product owners (possibly collaborate with additional teams) to devise a release plan that is workable, flexible, and amenable to the business:
Create baseline for a number of sprints
Reports on release and release burndown
Supporting and living the Scrum core values
In every class I teach or every team I coach, people consistently say how they've discovered a newfound respect and understanding for the ScrumMaster role. This is especially so when discussing the courage a ScrumMaster must have to live the Scrum values when the rest of the organization does not. A ScrumMaster:
Displays openness with every action. No hidden agendas. Good, bad, and ugly news is treated equally.
Is respectful of others, even in questionable situations.
Has courage, not afraid to speak up for the team, the project, and the customer; respects people but is not intimidated by them.
Meets commitments—does what he or she says he/she will do
Understands the importance of focus so that the team may finish sprint goals
Educating others
The ScrumMaster educates others about Scrum and the deficiencies in the old way of doing things. He must contend with entrenched thinking, fear, and anger until people begin to understand new possibilities as potential realities. The ScrumMaster:
Realizes that he is first and foremost a change agent—someone who is not afraid to challenge the old ways for the sake of improving process, influencing better outcomes, and enriching people's lives.
Schedules training for various people—team training, product owner training, manager training—so that everyone in the organization is aware of what Scrum is and knowledgeable of how to support teams.
Finds additional teaching opportunities via running the sprint—every meeting, every backlog session, and so on. Sees the opportunity to teach others about Agile practices and mind-set.
May find himself challenging traditional human resources practices to align them with a newer, more agile way of working.
Regularly challenges the team and the organization to find its own solutions rather than provide the solutions himself/herself.
Improving personal skills and characteristics
A ScrumMaster must be intelligent, technology-minded, tactful, resourceful, and creative. He/she must be able to take in and respond to criticism and feedback, continually working to improve skills and enhance personal characteristics. The ScrumMaster is self-critical and vanity less, comfortable with not taking the credit for a team's success, but willingly takes the blame for a team's failures. The ScrumMaster knows that a happy team and happy customer are the two best measurements of his or her effectiveness and works hard to achieve this in every team scenario.