Agile Development: What is a Scrum Master Roles? — Agile Cockpit
Scrum Master is known as the guardian of Scrum Team, someone that resolves impediment and has control over the scrum processes. Those are major responsibilities that come into mind when thinking of a Scrum Master.
What does a Scrum Master do? The Scrum Master removes any impediments that obstruct a team’s pursuit of its sprint goals. If developers don’t have a good sense of what each other are doing, the Scrum Master helps them set up a physical task-board and shows the team how to use it. If developers aren’t colocated, the Scrum Master ensures that they have a team room. If outsiders interrupt the team, the Scrum Master redirects them to the Product Owner. If the team has not learned how to develop a potentially shippable product increment every Sprint, the Scrum Master teaches them Test-Driven Development (TDD) or finds people who can teach them. If the existing code is so bad that it slows down new development, the Scrum Master helps the team learn how to pay off technical debt incrementally.
As the team grows into a self-managing entity, the Scrum Master’s role shifts toward the organizational impediments, issues caused by the outer organization. If the company still has a “business side” and an “IT side”, the Scrum Master works to make each team cross-functional. If the team depends on outsiders, the Scrum Master must help transform the organization to use cross-component feature teams. If “Human Resources” policies (e.g. performance appraisals and job titles) interfere with intrinsic motivation and teamwork, the Scrum Master must educate the business about the harm caused by those policies (incidentally, agile advocates don’t refer to humans as “resources”).
Scrum Masters are full-time transformation agents, but they do not push for change. What do people do when you push them? They push back. Instead, effective Scrum Masters promote transformation through illumination and invitation. Conversations with executives don’t work without a background of relatedness. In established organizations, improvements come in fits and starts. Sometimes it seems like nothing is changing, then the organization has a breakthrough right when we were about to give up. This can be emotionally taxing, so I advise Scrum Masters to connect with a community of Agilists. Product development is mostly about knowledge creation and collaboration, but most large organizations would require fundamental changes before they could be called learning organizations.
Other major parts of scrum roles are facilitating the scrum ceremonies. His job is to make sure that the project is working smoothly and every team member has tools to get their work done efficiently. Scrum Master is a challenging role and needs to understand according to priority set by the product owner. Scrum Master must execute the backlog as wished by the product owner, making sure that deliverables are on time with production quality.
Scrum master needs to be involved in team conflicts and must have good communication skills. He must be actively involved in technical matters thus finding out the gaps and ensuring product owner involvement in business decisions and description of the functional flow.
In Agile software development methodology, Scrum Master is a particularly challenging position as he cares about the team functionality. Scrum Master is responsible for monitoring the scrum processes and scrum meetings. He increases his team efficiency, motivates his team, spins, argues for changes that will ensure quality and timeliness. He ensures observance of DoD (Definition of done).
Here are some of the top skills of Scrum Master:
- Scrum Master is responsible for facilitating daily scrum, sprint planning, sprint demo, and retrospective meetings.
- Possesses conflict resolution, does conversation by focusing on scrum values of openness, honesty, and respect.
- Should be a friendly communicative person, because when the team is moving fast in Agile, communication is the effective force that holds the team together.
- Needs to forecast the numbers of deliverables possible in an iteration, which is based on evidence and reliable source.
- Needs to be an expert in estimation and planning. He knows how to create useful, reliable, and practical plans for software development projects.
- Should be a good coach in Agile practices. S/he can coach individuals and interactions over processes and tools.
- Help the team or individual to clarify goals and actions to achieve them.
- Ability to shield his team from outside distractions and interferences.
- Ability to ensure the correct use of the scrum process.
- Ability to track and remove impediments.
- Scrum Master is a servant first, who serves his team members before considering about himself
Duties of Scrum Master:
- Facilitate his team for better creativity and tries to improve the efficiency of the development team.
- Responsible for managing the scrum process with the coordination of the scrum team in Agile methodology.
- Responsible to remove the impediments for the scrum team.
- Arranged daily stand-up meetings, facilitate meetings, scheduled meetings, demo, and decision-making processes in order to ensure quick inspection and proper use of the adaptation process.
- Helps the product owners to make the product backlogs in good shape and make them ready for the next sprint.
- Responsible to Conduct retrospective meetings.
- Organizes and facilitates the sprint planning meeting.
- Acts as safeguard for his team.
- Knowledge of agile methodology and frameworks like Scrum, Kanban, XP, etc.
- Good skills to coach team how to follow agile scrum, which really works.
- Understand the basic fundamentals of iterative and incremental development.
- Strong knowledge of Scrum theory, rules, and practices.
- Knowledge of other Agile approaches, like Kanban, Crystal, FDD, XP, etc.
- Knowledge about other methodologies other than Agile-Scrum, so that he can explain other methodologies to motivate his team.
- Basic knowledge of software development processes and procedures to understand his team needs.
- He should have knowledge about Agile techniques like User Stories, Continuous Integration, ATDD, TDD, Continuous Testing, Pairing, Automated Testing, Agile Games.
- Ability to take and understand his commitment to deliver the product on time.
- Know about the value of metrics and incremental delivery.
- Knowledge about tasks, backlog tracking, burn-down metrics, velocity, user stories etc.
- Familiar with common development practices, Service oriented environments, and Agile practices.