There are a number of different roles in the agile methodology, and these need to be well-understood to make agile work effectively in your organisation. In particular, the scrum master and product owner need to have enough time to devote to doing their roles properly.
I must mention that as a female developer, I find a lot of the terminology used in Scrum rather macho and off-putting. I would like to see a shift in the culture on this, but unfortunately, the terms seem to be pretty ubiquitous these days.
|A Scrum team. Photo by Nghungdo – CC-BY-SA 4.0.|
DeveloperThe agile developer is a team player who commits to standardised development practices and sharing knowledge across the team. They are comfortable in different layers of the stack,m though they generally specialise in one of the layers.
In agile methodologies, the development team gets to decide which of the top priority stories in the product backlog they will work with next.
Scrum masterThe scrum master manages the scrum process. He or she convenes meetings, protects the team from other tasks, removes impediments, problem-solves, manages the scrum board and the burndown chart, and works with the product owner on prioritising the user stories in the product backlog.
Product ownerThe product owner is responsible for liaison between the development team and the stakeholders (both internal and external). He or she "grooms" the backlog, prioritising user stories, adding new ones, liaising with customers and other stakeholders to find out what they want.
Part of the product owner responsibilities is to have a vision of what he or she wishes to build, and convey that vision to the scrum team. This is key to successfully starting any agile software development project. The agile product owner does this in part through the product backlog, which is a prioritized features list for the product.