A Scrum Master is a coach and facilitator for a team using Scrum, helping the team to stay focused on the project’s goals and removing impediments along the way. A Scrum project uses only 3 roles: Product Owner, Scrum Master, and the Team. While the Product Owner brings the product vision, manages the return on investment (ROI), and guides the product development by determining what to build and in what sequence; the Team actually builds the product using agile practices; and the Scrum Master’s job is to facilitate communication and problem resolution anddeliver maximum value to the customer. A highly effective Scrum Master does this by making sure that all involved have the resources they need, are communicating well, and are shielded from distractions and interruptions.
Agile software development is highly collaborative, incremental, and iterative in its approach. It is structured around a time-boxed fixed-length development cycle of 1 to 4 weeks (based on project specifics) called an iteration, during which a team meets almost every single day.
A Highly Effective Scrum Master:
1. Focuses the team on the goals of the current iteration, keeping them on track: Having a short window in which to deliver working software helps keep the team focused, but should that not be sufficient, the Scrum Master is there to help by keeping the goals visible on a prominent score board, keeping the daily standup meeting focused on goals, and removing distractions that would otherwise interfere with reaching goals.
2. Removes barriers that block the team so they can deliver high quality working software: The Scrum Master monitors such distractions as too many meetings, unneeded procedural complexity, resource-based delays, or work environment or human factor challenges, and protects the team from them all.
3. Works with the Product Owner, providing a check and balance between getting more done and maintaining high quality and efficiency: The Product Owner is rightfully concerned with receiving the most visible value. The Scrum Master makes sure that this is done, but not at the expense of software quality.
4. Coaches the team in Scrum project management practices through:
- Building Organic, self-organizing agile teams and integrating them into the enterprise
- Creating a guiding, shared team vision, project vision, and product vision
- Implementing simple, adaptable methodology rules to deliver business value rapidly and reliably
- Creating open flow and exchange of information among project team members and external groups
- Maintaining a light touch by supporting team autonomy, flexibility and customer value focus without sacrificing control
- Tracking and monitoring the project for timely and relevant feedback while instituting systemic learning and adaptation
5. Introduces selected engineering practices and tools to help ensure that each iteration is potentially shippable, including any or all from the following list:
- Automated Builds and Continuous Integration: Reduce time and effort associated with manual builds and the risk of big-bang integrations
- Simple Design and Refactoring: Keep incremental development from leading to poor architectures
- Multi-Level/Automated Testing and Test-Driven Development: Reduce testing time and effort and allow developers to make changes with confidence
- Pair Programming: Increase software quality without impacting time to deliver
- Other: Industry best practices, standard corporate practices, and procedures which may benefit the project
6. Encourages collaboration and facilitates Scrum-prescribed collaborations through:
- Release Planning Sessions: To determine what a Release should include and when it should be delivered
- Iteration Planning Sessions: Elaborate, estimate and prioritize highest-value product deliverables for the next iteration
- Daily Standup Meetings: Very brief meetings to rapidly take the pulse of the project, address challenges, and coordinate activities of the team and with the Product Owner
- Iteration Review / Demo Sessions: Demonstrate completed functionality to interested stakeholders and users to show progress and gain important feedback
- Iteration Retrospective Sessions: Reflect on project and process issues and take action as appropriate. Continuous collaboration and process improvement
As you can see, a Scrum Master has many hats to wear, some in addition to those usually associated with project management. Agile emphasizes people over process, and that is certainly evident in the team-directed focus of a Scrum Master. Agile emphasizes delivering customer value over extensive documentation and other non-value added artifacts and processes, and that is reflected in the Scrum Master’s emphasis on engineering practices and focus on delivering working value-driven software. Agile and Scrum promote open communication and active contributions from team members and the Product Owner throughout the project, and a highly effective Scrum Master accomplishes this by encouraging and facilitating on-going verbal collaboration, both formally and informally, and by promoting the use of prominent visual displays of project status. A Scrum Master who executes on the strategies outlined here will indeed be a highly effective Scrum Master, and will truly meet or exceed the customer’s expectation of value.