The Scrum Roles for Developers
One of the main priorities of Agile is face-to-face communication. Every role on a Scrum team interacts with every other role very frequently. In traditional software development styles, developers rarely have to interface with other roles. Besides working with other developers, they mostly keep to themselves or go through existing channels to distribute information. In Agile, developers work and communicate directly with all other roles. As such, every other role has certain interactions with developers.
Within Agile software development, core roles are those that directly participate in development. They work with code in some specific way. These roles participate in the meetings of Agile and follow the typical procedures.
The Product Owner is essentially the representative for stakeholders. They take customer requests and turn them into user stories that eventually become product features. This often means saying no to features that will not add value to the product. Even for features that do make it into the backlog, the Product Owner is in charge of prioritizing them.
For developers, the Product Owner serves as a filter to make sure only valuable requests reach development. Instead of speaking directly with customers, developers receive requests from the Product Owner. This removes distractions that would otherwise inhibit developers. Furthermore, it makes sure that developers do not waste time on requests that are impractical or less valuable than other features. In the event that a request or user story is not detailed enough, the Product Owner provides more details. If developers need a decision made for product behavior, they may contact the Product Owner to make the decision. If the Product Owner does not have enough information on the matter, they can then contact stakeholders.
The primary duty of the Scrum Master is to maintain order in the Scrum team. The Scrum Master handles any questions or requests that other roles are uncertain about. This allows roles to get back to their other duties, instead of wasting time searching for answers. However, the Scrum Master should not be the first point of contact for problems. If other team members know who to contact, they should speak with the person directly. In addition to answering questions, the Scrum Master also keeps the daily stand-up meeting on track.
Developers most benefit from the Scrum Master role by being able to focus on their work. For administrative tasks and other issues that do not involve writing code, developers may be wasting valuable time. Unless they can handle the issues easily, it is often better to defer to the Scrum Master, who can more effectively deal with these problems.
The Scrum team is composed of more than just developers. Therefore, these other roles on the Scrum team will interface with developers in specific ways.
The analyst role establishes the technical and behavioral details of the requests. Instead of giving vague requests to developers and asking them to figure it out, the analysts give guidelines to the process. While some developers may feel that analysts constrict their creativity with code, the analyst role often gives more consistency to the development and reduces risk. If analysts have gone through user stories and addressed uncertainty, they can anticipate many problems that developers may otherwise stumble into.
Our Favourite Agile Books
We found these books great for finding out more information on Agile Scrum: