Even though Agile is not a synonym of Scrum, a lot of people think of Scrum when the conversation is about Agile practices for software development. I would like to discuss the roles within the Scrum Team and the responsibilities of each of the roles for people new to Scrum. The Scrum team is small and it comprises three roles: Scrum Master, Product Owner, and Developer.
As the name indicates, the Scrum Master is the champion of Scrum and he/she is the person to enforce the rules and regulations of the Scrum framework. This person is accountable for the understanding and implementation of the Scrum Guide. The Scrum Master must ensure that the team stays within the defined timebox for all the events that take place during the life of the project. Also, the Scrum Team only has a Scrum Master that removes any impediments that the team could have during a Sprint or the development of a product.
The product owner is the one facing the customers to gather requirements and user needs. Also, this person creates and maintains the product backlog. However, another team member could add and update items in the product backlog with the permission of the product owner. No matter who makes changes to the product backlog or who is allowed, the product owner is accountable for the maintenance of this artifact. The product owner is the customer’s champion. But, that does not imply that developers must be shielded from customers because, in some instances, developers would like to talk to customers/stakeholders to get a better feeling and understanding of the requirements of the product. The product owner is also communicating the Product Goal to the team in each event or opportunity that he/she has so the team understands and keeps a clear vision of the finished product.
Developers could be confusing in terms of Scrum context because you might think that it is about software developers. Developers in Scrum are anyone that participates in the creation of the product that is not the Scrum Master or Product Owner. In your team, you might have designers, database administrators, data analysts, and software developers. All of them are considered developers within the Scrum framework. They participate in a Daily Scrum or stand-up meeting at the beginning of the day that serves as a status meeting for developers to explain what they did the day before, what they are planning for the current day, and any impediments that they can see blocking progress for the day. This Daily Scrum is for developers by developers, the Product Owner does not need to participate in the Daily Scrum and if he/she participates, he/she must be working on items from the Sprint backlog.