What makes Scrum different from any other method? Yes, the process itself, but also — the team! Scrum is all about accountability. In contrast to classical project management methods, Scrum doesn’t have and doesn’t need a product manager, a task manager, or a team leader. The most important three roles of Scrum are Product Owner, Scrum Master, and Development Team.
The product owner is a leadership role that communicates the customer’s vision of the product with the team. The product owner constantly re-prioritizes the product backlog items, making key decisions on behalf of the team, customer, and project as needed. During the project, the product owner bridges the gap between the developers and other stakeholders, managing the end-user (i.e., customer) expectations, and managing the budget (ROI), and may even contribute as a team member. The product owner decides when increments are complete, or if they require any improvements in quality or functionality before the presentation.
The scrum master has a leadership role for which he is responsible for directing the scrum process. He also helps in resolving any issues the team is facing during the process. It is not necessary for the scrum master to fully understand the requirements, however, he must be capable enough to overcome any roadblocks. He must create and maintain the best possible working condition for the team members so that they can meet the goals of each sprint effectively. To do this, he must insulate the team from outside interference, enforce timeframes, and ensure the development team’s increments remain highly visible. He is responsible for guiding the team, building a trustworthy environment within the team, facilitating discussions – negotiation – communications and removing impediments and problems.
Note: The scrum master is not a manager, and does not have any authority over the team.
The development team is a 7 (+/- 2) person team responsible for the cross-functional, flexible development of the product. It is a small team consisting of developers, business analysts, testers, etc., that negotiate deliverables with the product owner during each sprint. During each sprint, each development team member is then free to choose how to approach his increment. The team may work together or individually while working on a project but is usually majorly collaborative. The activities of each of the team members are aligned such that specific sprint items are completed in order, based on the product backlog. Development team members are also responsible for identifying the complexity of tasks and allocating effort (in number of hours / days) to them. They are responsible for daily status updates of project daily to scrum masters, issues that they are facing (again the scrum masters) and giving a demo of tasks completed by them to product owners during sprint reviews.
Arguably, the most important role involved in Scrum is the Stakeholder, as the Stakeholders are the ones who have desires, wants, and needs, and are the reason the Team is developing the software in the first place. Often, there is a special Stakeholder called the Business Owner, who actually controls the budget for the Team. The Business Owner is often the one who called or asked the Team to form.
Subject Matter Expert (SME)
Somebody with specialized knowledge or talent that is needed by the Team; this includes SMEs on the product, the environment, development practices, and so on. The term usually refers to SMEs that are ‘outside’ the Team, but not always.