A big area that makes agile so successful is the high level of interaction among the different stakeholders and team members. In agile or scrum defined roles ensure that the team doing the work is highly productive. Whether the role of that team member is estimating, planning, prioritizing or doing iterative development, the work is managed tightly to remove distractions for the technical delivery team and ensure stakeholder satisfaction.
The scrum method tightly defines the resource management process with roles like “Chicken” and “Pig.” If you’ve ever heard anybody calling somebody else by those names, you may have wondered where that comes from. It refers to the level of involvement for each, as this cartoon illustrates:
The Role of the Pig
A Pig has the most at stake in the project, and team members with that role are actually involved in the delivery of the solution. In most projects, they play these vital roles:
- Scrum master or facilitator/project manager;
- Members of the scrum or project team; or
- Product owner.
But they’re not limited to these roles. The key is how much involvement and ownership this type of person has with the project. Some of the important common goals of Pigs include these:
- They’re committed to the project and the process of how the project is being managed;
- They’re typically highly involved in building software or creating technical solutions on a regular and frequent basis; and
- They have the most skin (or should I say “bacon”?) in the game to deliver the solution.
The Role of the Chicken
A Chicken is a person who’s involved, engaged or interested in the project or the project’s outcome and ultimately stands to lose or gain by it, but the success or failure of the project isn’t a direct result of his or her involvement.
The people you’ll find in the role of Chicken include:
- End users;
- Members of the stakeholders or project team; and
- Subject matter experts or consulting solution experts.
Common characteristics of the “Chicken persona” include these:
- They’re not part of the SCRUM process or the process for managing the project;
- Their requirements, ideas or requests are considered and reviewed, but they themselves don’t affect the delivery of the actual project; and
- The degree of their involvement is limited, but not to the level that the pigs are in the project.
In the rest of this article we’ll continue the discussion around the different roles of the agile/Scrum Team and stakeholders.
This illustration shows the various scrum roles you most commonly find in a project. There can be others, but these are the crucial ones for ensuring success in a project implementation.
The Role of the Product Owner
The Product Owner represents all stakeholders. In many cases a business analyst or the project manager plays this important role. The Product Owner makes sure that the business side of the product is delivered through a focus on the requirements and/or major features. As guardian of the overall vision the Product Owner keeps the delivery team focused on delivering a specific, measurable and reasonable product backlog. The Product Owner also works to help prioritize that backlog by business value to the stakeholders, ensuring that the activities with the highest values are delivered first.
The Product Owner role typically covers the following responsibilities:
- Representing the voice or vision of the customer;
- Communicating, establishing and nurturing the product vision;
- Managing and administering the product backlog;
- Monitoring the project against investment planning and return on investment;
- Updating and prioritizing the product backlog — to make sure that the most valuable features are built first;
- Assisting with on-going funding for the project by creating the initial release plan; and
- Managing the release cycle and communications, including when to create an official release.
In my experience the best Product Owners can speak the language of both the customer and the development teams. A Product Owner is usually a senior stakeholder, such as a CEO, subject matter expert (SME), a project manager or even a business analyst with technical skills. A Product Owner should ideally have deep experience with:
- Gathering and managing requirements;
- Managing and prioritizing the product backlog;
- Software acceptance testing or alignment with value delivered to features delivered;
- Functional business areas where the technical solution is providing value; and
- Design and engineering.
He or she should have a good balance of several skills:
- Being readily available to stakeholders and the team;
- Making decisions;
- Understanding the project’s value to the stakeholders and organization;
- Understanding the business processes; and
- Marketing and promoting the features and capabilities of the solution to the different stakeholders.
The Role of the Scrum Master or Project Manager
The Scrum Master is the coach and the facilitator of the team, making sure they improve their productivity by handling impediments as soon as they occur. While the Product Owner focuses on the value of the overall releases and incremental delivery being developed, the Scrum Master focuses on the actual development process and works as a facilitator for the Scrum Team.
The Scrum Master reviews and manages the cycles of development process, commonly referred to as sprints. The Scrum Master protects the team and works with the Product Owner to maximize the return on investment. Together, they help the organization understand and respect agile ideals throughout the organization, not just among the team, but with the other stakeholders as well.
Typical responsibilities for a Scrum Master include:
- Setting the team up for success;
- Assisting the Product Owner and other stakeholders to define business requirements;
- Managing the project process and project internal communications;
- Shielding the team from outside distractions;
- Holding daily scrum meetings;
- Improving engineering practices and tools used by the team, so each increment of functionality is potentially shippable;
- Improving productivity of the technical teams through facilitating creativity and empowerment;
- Preparing burn-down charts;
- Ensuring crystal-clear communication among everyone involved in the project;
- Removing all possible obstacles to progress, including those that exist between developers and the business stakeholders;
- Organizing sprint planning, sprint review and retrospective meetings; and
- Acting as a champion to educate the business on how to maximize ROI and meet objectives through agile development.
Some of the qualities that make a Scrum Master successful are:
- Good facilitation and communication skills;
- Excellent listening skills;
- An understanding of the Product Owner’s vision;
- The ability to focus on the solution;
- The ability to solve problems;
- The ability to be a good team player and mentor;
- Competency as a technician;
- An understanding of the team’s capabilities and weaknesses;
- An understanding of business value;
- Keen analytical skills; and
- The ability to provide team leadership.
The Role of the Scrum Team Members
Agile teams are responsible for developing the functionality required for delivering the features or capabilities that the stakeholder requested. Scrum teams are self-managing, self-organizing and cross functional. That means they’re able to deliver options or features without needing to go anyplace else for answers. Good teams are responsible for figuring out how to turn product backlog into an increment of functionality within an iteration (timeframe).
Scrum teams manage their own work tasks. Thus, the ability to deliver the functionality resides within the team itself. If that’s not possible, then that feature or product work may belong to a different team. The Scrum Team must be able to think creatively through different approaches and solutions. The Scrum Team needs to understand the vision and the sprint goals of the Product Owner in order to deliver a potentially shippable product.
Typically, members of a team should be assigned full time and permanently dedicated to the project; usually, team changes happen only between sprints.
Scrum teams aren’t particularly large — normally five to nine people, with a balance of experience and capabilities. If teams get too large, the agility can break down, burdening them with an inability to decide which features or solutions they need to focus on.
Some of the responsibilities of the Scrum Team are:
- Planning and estimating tasks for each item on the selected product backlog;
- Choosing and committing to delivery of the highest-priority items found in the product backlog;
- Ensuring requirements are addressed through use of user stories, processes or mechanisms to validate the successful delivery of the requirements;
- Helping to identify obstacles for the Scrum Master;
- Arranging the work and distributing assignments among the team;
- Authorizing to do whatever is needed to meet their commitment;
- Managing their own work and organizing themselves around how to complete each iteration; and
- Participating in and updating progress of the sprint.
A scrum doesn’t really define what is to be delivered; but it works through the potential approaches looking for the priorities for each iteration that will lead to a solution.
Scrum Teams aren’t the same as a normal development team. A Scrum Team is definitely different in the way it operates and its capabilities.
Also, a Scrum Team isn’t just a single type of developer or technician. It’s comprised of cross-functional members who are capable of achieving the sprint goals. This could be a blend of software engineers, data architects, programmers, analysts, system administrators, quality assurance/testing experts and user interface designers.
Basically, the scrum provides a complete functional team that has sufficient experience to handle all of the different tasks or activities they expect in delivering the features required of the project.
Other Agile or Scrum Roles
The project might offer other types of roles, but those most commonly found in an Agile process relate to two roles:
Project Stakeholders are those individuals who derive value out of the product being developed. They’re usually customers, users, customer representatives, etc. They have particular involvement during the sprint reviews.
Managers or Cross-functional Department Heads come from a different department, but they get involved in the process because the solution could impact their organization or requires their expertise to ensure good value for the organization.
There you have it, a rundown on the primary roles you’ll find in agile or scrum development teams. In my next article in this series I’ll share functions within Microsoft’s project management tools that will help you stay on top of resources.