Scrum team
For the Scrum approach, you will typically find three main roles, although some organizations do define others in addition to the ones listed here:
- Scrum master
- Product owner
- Development team (and that includes the testers)
Scrum teams have one product owner. He or she is responsible to ensure that the team delivers business value that is required. To do so, the product owner is the connection between the stakeholders and the (technical) team. The product owner is primarily focused on the business side (problem definition). The product owner defines the user stories and adds them to the backlog.
The user stories describe the features that need to be implemented. You can think of a backlog as a to-do list. The team has to commit to these items, and each item needs some refinement to make clear what exactly is needed to implement a specific feature. It is the team, focused on finding a solution, that will give the feedback for this. The backlog also needs prioritization. This prioritization is often based on how important specific features are for the end user (the value).
The product owner demonstrates the app to stakeholders, and defines the milestones and releases of the app. He or she also informs stakeholders about the development of the app, and plays an important role at negotiation of funding, scope, and priorities. The product owner needs to be able to communicate effectively. He/she needs to find a balance between the stakeholders' (and end users') interests, and the collaboration with the members of the team to make sure they develop the right solution for the problems that stakeholders find or define:
This results in information on two totally different levels. Stakeholders are often only interested in obtaining a solution for the problem. However, the development team prefers to hear feedback with as much detail as possible, so they will know how a feature should be implemented.
The developers, testers, and others are all members of a self-organizing team. They will care for all tasks related to delivering or updating the app. Tasks that you can think of are:
- Design
- UX
- Analysis
- Technical research and development
- Code review
- Testing
- Documentation
The team commits to a sprint, and is responsible for delivering an updated and working app at the end of each sprint. It does not make a difference whether the update is a external or an internal one. It should always be possible to demonstrate the new features to the stakeholders.
Another role is that of the Scrum master. The Scrum master makes sure that the Scrum framework is followed. He coaches the team to make sure that the team delivers all the features for a sprint. He educates the team and the stakeholders about the Scrum principles. The scrum master helps the team to remove (or to avoid) internal or external impediments that might impede a sprint's success.
The Scrum master also maintains the backlog, and ensures the stories are clear and that they are defined in a nonambiguous way. It is important that the team understands the objectives of a story so it can actually make progress. Other important responsibilities of the Scrum master are helping the team to come up with the definition of Ready (when the development team can begin work on a story), and to come up with the definition of done (when can a new feature be rolled out). We will have a closer look at these definitions later.