Scrum Team and Roles
Scrum teams usually have between 5 and 11 people, and it is not recommendable to move their members from one project/team to another. The reason is simple, in the same way that practice improves your skills, communication and work results will be better after some time with the same people.
Self-organization and cross-functional teams are essential features in Scrum.
Scrum defines several roles within a Scrum Team. You will find them described below:
The product owner is the person responsible for updating, prioritizing and managing the list of items to be developed. This list of items is called the product backlog.
Effective product owners should:
- Be focused on understanding market and business requirements.
- Prioritize the work that the development team should accomplish through a proper management of the product backlog.
- Guide the team when deciding what to ship and make sure that customer needs are being understood.
The product owner is not the team manager and they will not decide how to implement things or how long it will take. Their role consists of making sure that the highest customer/business value is being delivered first and the product backlog is being properly managed.
The Scrum master is responsible for ensuring team members understand and follow Scrum. This person fully understands the work planned and done by the development team and makes sure Scrum methodology is being followed.
The main responsibilities of a Scrum master are:
- Help the Scrum team and any other stakeholder that interacts with the team follow the Scrum methodology (making sure that everybody understands their role, meetings are taking place when they should be, the content of these meetings is adequate, the increments are being properly delivered, etc).
- Remove any impediment and help the development team keep working to maximize the delivered value.
- Make sure the product backlog is being properly managed by the product owner and properly understood by the development team.
- Coach the development team in self-organization and cross-functionality.
The development team is a group of 3 to 9 members that are able to organize and manage their own work. More than 9 members will require too much management and coordination if we don’t want to lose productivity.
The development team creates the increment of the product at the end of each iteration (sprint).
Within the development team, collaboration and an ever-growing synergy are essential to improve its efficiency and productivity after each sprint.
The main responsibilities of the development team are:
- Being cross-functional: The team contains all the necessary skills to deliver the increment of the product at the end of the sprint.
- Being self-organized: They decide how to turn product backlog items into product increments. The product owner will establish the priority of the product backlog items, but the development team can provide feedback to the product owner to help them prioritize it. With the prioritized list of items, the development team will estimate the effort required and how to implement it.
- There are no titles within the development team. All team members are developers.
- Each team member may have specific skills and areas of expertise, but they are a whole and they should keep improving their skills.