We’ve been in the game building software for 15 years. We’ve worked in big teams and small, on our own software products and on others. We’ve been handed a project and told to do it all, and we’ve been integrated into savvy teams as developer extensions. We’ve worked with developers, QA, project managers, product managers, designers, business analysts, tech leads, and architects, both on our side and on the other side. Here’s a quick wrap of how we break down team:
Roles on a Scrum Team
A traditional Scrum team only has three roles: Product Owner, Scrum Master, Development team. Some consider Stakeholder as a fourth unspoken role, but for an Agency that’s almost always the client or customer, so we don’t consider it when putting together a project Scrum team. Your role on a Scrum Team is not the same as your title in a company. You might be a software developer, or a designer, but in a Scrum team you might take on the role of Scrum Master. Let’s take a closer look at each role.
The Product Owner is the link between key stakeholders and the Scrum team. They communicate with each stakeholder to get a firm understanding of the business objectives, then translate those requirements into product requirements. The product owner defines what “what’ is - as in what the product will look like and what features it will contain. They build and manage the product backlog, prioritizing features and determining what to pull into the next sprint, based on stakeholder feedback and project circumstances. They manage the release cycle and ensure that the development team delivers continuous iterations for the stakeholders to review. They also, and probably most importantly, ensure that the product development translates into value for the stakeholders.
Product owners are often the key stakeholders in a project. To be effective, they must be available, business savvy, and able to communicate well.
Availability is essential in a project. A product owner needs at least 10 hours per week, and up to 30, to be effective. In order for product development to take place, numerous decisions about how to create value from usable increments must be made. If a product owner is unavailable, the project will either stall, or someone else will have to make those product decisions. This is how projects fail to meet deadlines or satisfy business objectives.
Product owners also need business savvy. To create value through product development, they have to understand the market, the customers, and the business. They consider each new circumstance as it arises, then use that knowledge to prioritize. Then they must effectively communicate those priorities, and the reasons for them, with the Scrum Master, the stakeholders, and sometimes with the development team.
Product Owner Responsibilities
- Communicates with key stakeholders to transform business objectives into product requirements.
- Manages and prioritizes the backlog based on an item’s value to the business (the value that item can bring to the business minus the cost to implement). They determine what’s added to the backlog as well as what’s pulled into the sprint based on stakeholder feedback and project circumstances.
- Manages the release cycle, ensuring that the development team delivers continuous iterations
- Ensures product development translates into value for key stakeholders.
The Scrum Master helps the members of the scrum team perform at their highest level. They are masters of the scrum process, evangelizing and facilitating scrum and sprint initiatives like the daily standup, the retrospective, and the general principles of self-organization, commitment, and transparency. Scrum Masters follow an empirical process to identify the best approach for product development. They take instruction from the product owner and help optimize the backlog planning. They communicate between team members regarding evolving requirements and planning. Utilizing Jira, Slack, or any other available tools, they coordinate progress between individual team members. They coach development team members in process and they act as shields from distraction and external interference.
- Takes instruction from the Product Owner and helps the Product Owner optimize backlog planning.
- Facilitates scrum and sprint initiatives (daily standup, retro, estimations etc.).
- Coordinates team meetings and supports communication and progress between individual team members.
- Communicates evolving requirements and planning to team members (via Jira board, email, Slack, and/or meetings).
- Removes impediments and shields team members from external interference.
Related: 7 Types of Agile
The development team is responsible for transforming an idea or requirement into tangible products for end users. The consistency of the development team depends entirely on what the product is, but for a software development team, it typically includes software developers, QA, designers, and occasionally includes writers, UX specialists, researchers, and solutions architects. For medium-sized teams, a Tech Lead is assigned to serve as architect and as a coach for best practices in software development. They review code, approve code commits, and make decisions about technical approaches and solutions.
The development team is empowered to self-organize and manage their own work. Once the entire team agrees on a definition of “done”, they work towards releasing increments of “done” work at the end of each sprint.
Development Team Responsibilities
- Cross-functional with all the skills as a team necessary to turn Product Backlog into increments of potentially releasable functionality
- Participate in daily standups to provide transparency to the work and offer a forum for development team members to seek help and highlight any successes or blockers.
- The specific makeup of the scrum team depends on the project. Specialties might include front end developer, backend developer, mobile developer, QA, tech lead/architect, designer, writer, game designer, etc.
- Self-organize They are self-organizing. No one (not even the Scrum Master) tells the Development Team how to turn Product Backlog into Increments of potentially releasable functionality.
Related: Working With Ambiguity
Scrum is a framework that can be built upon with an organization’s processes. Every project and team is unique and so is the approach. We can take the values of Scrum - commitment, courage, focus, openness, and respect, and apply them, along with best scrum practices, to any project to build software that delivers real value. "Scrum is based on the theory of empirical process control, which relies on transparency, inspection, & adaptation. Scrum is also both iterative and incremental.
How does your scrum team work? Shoot us a note and let us know.