The Product owner shoulders all the responsibility for Project success and is ultimately responsible to the Team, Stakeholders and to the company. In order for Scrum to work the Product owner has to focus his time on activities that matter.
Creates and maintains the Product Backlog, by constantly re-prioritizes the Product Backlog. PO is a Single person responsible for maximizing the return on investment (ROI) of the development effort. He Prioritizes and sequences the Backlog according to business value or ROI. He is Final arbiter of requirements questions. Assists with the elaboration of Epics, Themes and Features into user stories that are granular enough to be achieved in a single sprint. Represents the customer, interfaces and engages the customer while considering stakeholder interests. Inspects the product progress at the end of every Sprint and has complete authority to accept or reject work done. Terminates a Sprint if it is determined that a drastic change in direction is required. The Product Owner is the one person who must face the music if the project crashes and burns. Therefore, he or she must aggressively determine which features of a product are most important, when they are developed, etc.
Scrum Development Team
In Scrum, an ideal team would include seven members, plus or minus two. Usually, teams are comprised of cross-functional members, including software engineers, Architects, programmers, analysts, QA experts, testers, UI designers, etc.
The key responsibilities of the Scrum team are:
Prioritizing the sprint backlog
Estimate the effort to implement User Stories
Development to achieve sprint goals.
And implementing test cases
Unit and initial Acceptance testing's
Identify obstacles and informing the Scrum Master
Daily Scrum meetings
Key skills of a scrum team member should be:
Understands TDD, BDD, etc.
Understands Code smells and Re-factoring
Self-motivated and organized And must be a Team player
When the Product Owner focuses on the value of the project being developed, The Scrum Master focuses on the development process and the mentor for the Scrum team. He ensures that the team adheres to its chosen process and removes blocking issues.
The key responsibilities of the scrum master are:
Facilitates the Scrum process
Team gives the commitment
Scrum master has to track the progress and help the team to achieve the given commitment.
Tracking is important on a daily basis so that if needed proactive measures can be taken well ahead of time.
Ultimate goal is to make the sprint successful.
SM is responsible for the scrum processes agreed in the project.
First of all, SM creates the scrum rules for the project.
Then he has to make sure that each and every process is implemented in the project.
At the end of the sprint, he need to check the agile management tool at the user story level that
Each and every user story is completed as per the definition of done.
Creates an environment conducive to team self-organization
He Enforces time boxes
He Keeps Scrum artifacts visible
Has no management authority over the team. HE is a Servant Leader.
Scrum master will serve the team and product owner to turn the requirements into the working software.
So as per my experience, scrum master role is a critical role in agile and one should be very cool,
Intelligent and knowledgeable while playing this role. Failure and success reasons will asked by this person.
On one end, product owner is responsible for return on investment but execution and delivery is scrum master responsibilities.
Reporting & Communication
All the reporting about the progress of the sprint is scrum master responsibility. Risk, issues, challenges, achievements, success, failure, improvements etc. Will be reported by the scrum master to the higher management on both the sides customer and internally.
During one of the recent discussion, I was asked whether SM is responsible for the delivered quality in a project, Where project has roles like development manager, QA manager, program manager and the scrum master. If there is a bad quality, who is responsible for the quality. Interface between the technical team and the business i.e. product owner. As a scrum master, you have to play a crucial role between these 2 stakeholders. One is giving commitment at the start of the sprint, but team has a dependency on the PO to provide The requirements and the clarity on the requirements. Scrum master many a times need to help team to understand the requirements also.
Scrum master need to be there on the floor all the time with the team. Scrum master will resolve all the impediments and team should concentrate on the engineering tasks. Then only team will deliver the working software at the end of the sprint. Some of the example of the impediments are requirement dependency, wireframe dependency, environments down etc.
Resolving conflicts between the team members. Agile does not have any room for negative conflicts. We have limited time and we have to deliver the committed work. You cannot afford to lose any time otherwise how you will manage the time. So be in touch with the team members so that as a scrum master you can sense the conflicts early and resolve them. Coordination is critical here. Lead all the meetings in the project. As a scrum master, you need to lead and guide all the team members in all the meetings proposed by agile. Like in preplanning meeting, planning, daily scrum, review and retrospective meetings. So all in all you need to be on top of everything.
Shields the team
Makes sure that team gives at least 6 hours of engineering productivity. For all the external interference, scrum master should stand in front of the team.
Scrum master will coach the team on how to estimate. Further scrum master will also participate in the estimation during the planning meeting.
Performance Appraisal & Feedback
Scrum master will provide necessary feedback about the team members during the appraisal. Delivery unit head or whoever is the responsible person will take care of the rest.
Find out the ways to improve on the quality, velocity, value to the business.