Agile Team Members – Roles and Responsibilities

The following was written by myself and edited by my manager to help define roles in our group. Modifications have consisted of removing any reference to the specific group. This is largely influenced in the writing by David Anderson’s book Agile Management. Most of the wording for the roles of Product Owner and Scrum Master come from the Scrum Alliance, with specific cites on the role’s title. Influences in the editing have a decidedly more traditional feel to the statements, and leaves one feeling they are behind the steering wheel of some analogous car.

Agile Team Members – Roles & Responsibilities

The key to successful team building is creating unity while celebrating the individuality of each team member => Common purpose supported by unique contributions

  • Team is held responsible for a release, individuals are held accountable to their commitments
  • Each team member has one or more roles on a project
  • When a team member has more than one role on a project, potential conflicts may occur. Always think checks & balances before signing up for multiple roles

 

 

Program/Release/Project TEAMS

 

Program/Release/Project CORE Team consists of:

  • Product Owner (aka Product Manager)
  • Engineering Manager
  • Architect
  • QA Manager
  • Program Manager (aka Project Manager, Scrum Master)

Representing multiple TEAMS as a Core Team member

  • Cannot attend multiple stand ups
    1. Scrum team too large and being split
    2. New teams being formed
    3. One core team member on multiple Scrum teams
  • Stagger daily stand ups
  • Attend one stand up and send a proxy to the other

 

Scrum Of Scrums

  • Starts ON TIME
  • Attendees
    1. Core team members
    2. VP of the group
    3. All other VP direct reports
  • Scrum Master is the Director of Program Management
  • Product Owner is the Director of Product Management
  • Program or Project Manager (Scrum Master) for the project answers the following
    1. What was accomplished on the project yesterday?
    2. What is happening today on the project?
    3. What is blocking the project from progressing to deployment?
    4. What are other projects with which this one is being integrated?
  • A proxy of another core team member who attended the daily stand up can answer if needed
  • Product Owner provides business and domain answers for clarification of project direction
  • Side conversations are parked and follow-up meetings arranged
  • Scrum Master records all blockers and follow-up arrangements
  • Scrum Master lists out existing blockers and follow-ups made
  • VP prioritizes blockers
  • NOTE: Every attempt is made to resolve all blockers in the day they are raised.

 

Representing multiple ROLES in a Core Team

A core team member might have for example, both the roles of Product Manager and Architect; or a team member may be Scrum Master and Engineering Manager. In some cases, there can be a potential conflict of interest. In the first case, this could be a person with great, wide vision for a product. In the latter, this is a coalescing of authority and responsibility. The person responsible for protecting the team from interrupts with outside work now has great influence to interrupt someone working. Please use due diligence in volunteering for, or assigning people, multiple roles.

 

Scrum Team consists of:

  • Scrum Master role – usually Project or Program Manager but can be anyone on the team
  • Product Owner role – usually Product Manager but can be anyone on the team
  • The Team of 7 people, +/- 2, Responsible for Task Completion :: Development, QA, Architect, OPS, UED Engineers, etc
  • Core Team

 

DESCRIPTION of Roles & Responsibilities

 

Product Manager aka Product Owner

 

Role definition

  • “CEO” of the product
  • Vertical – focus on long and short term product vision of a product line
  • Represents customer’s interest
  • Represents the product to the outside world (Customer)

 

Responsibilities

  • Responsible for market, business case, and competitive analysis
  • Responsible for long and short term product vision
  • Responsible for ROI and Net Profit
  • Prioritizes features for releases based upon expected ROI
  • Writes Acceptance Criteria
  • Writes user stories
  • Makes tradeoff decisions between scope(value in Expected ROI) and schedule(higher operating expense in longer release cycles)

 

Challenges

  1. Resisting the temptation to “manage” the team. The team may not self-organize in the way you would expect it to. This is especially challenging if some team members request your intervention with issues the team should sort out for itself.
  2. Resisting the temptation to add more work
  3. Being willing to make hard choices during a planning meeting.
  4. Balancing the interests of competing stakeholders.

Program Manager

 

Program Managers can perform both Project & Program Manager roles. On a Scrum team, Program Managers usually perform both Program Manager & Scrum Master roles unless another team member is assigned to be Scrum Master.

 

Role definition

  • Horizontal (Across the product lines, projects, x-functional teams)
  • A rational voice to drive the cross-functional core team to solve problems and make decisions
  • Impartial – not biased to Product, nor to Engineering, nor any other group

 

Responsibilities

Program Management responsibilities

  • Manages planning process
  • Manages overall program schedule
  • Drives multiple releases/projects
  • Facilitates Release Planning & Retrospective
  • Provides access to tools and people
  • Owns all action items for the project until he/she finds the right owner
  • Owns reporting on project status, to all directions
  • Coordinates other release support
  • Responsible for risk assessment & mitigation
  • The Role is a peer to the Product Manager and the Engineering Manager on the release/project
  • Educates/Enforces agreed upon processes & methodology rules
  • Educates/Enforces roles and responsibilities

Scrum Master responsibilities

  • Manages 1 sprint at a time
  • Facilitates Sprint Planning, Review & Retrospective
  • Finds and works to remove roadblocks
  • Helps to motivate the team and keep them excited
  • Protects team from outside distractions
  • Facilitates communication between roles for every aspect of the project
  • Responsible for keeping release/project information consolidated, organized and up to date
  • Drives the cross-functional team at all levels
  • Responsible for throughput (team velocity)
  • Drives the execution of sprint items

 

 

 

 

Architect

Role definition

  • Leads the technical direction of overall system

 

Responsibilities

  • Responsible for end-to-end cross functional system design and communication
  • Works with the PM to group features based upon the Architectural Elements which support them, an influence on priorities
  • Tests Architectural Elements with executable and testable design (abstract interfaces, aka the contract)
  • Facilitates technical decision; incorporates feedback and emergent patterns from the team back in to the overall design
  • Produces alternate Design Concepts & detailed approach
  • Ensures the Design goals – Performance, Modularity, Reliability, Maintainability, Reusability, Internationalization and Accessibility – are met
  • Ensures technical cohesion and helps write the technical contract in interfaces and other abstract objects and data entities
  • Leads design review & provides feedback

 

Engineering Manager

 

Role definition

  • Ensures the successful completion of Work-in-progress (WIP)
  • Understands the process of product creation

 

Responsibilities

  • Responsible for rate of production and lead time (what each engineer needs to fulfill their commitment)
  • Responsible for initial high level sizing
  • Works with the architect and the team to prove technical integrity
  • Responsible for conducting forward leaning technology investigations (spikes)
  • Negotiating with architect on technical approaches
  • Removes most bottlenecks
  • Enforces engineering best practices
  • Ensures motivation of their team
  • Assists career development of team members
  • Conducts focals

 

Product Developer

Role definition

  • Responsible for creation of product

 

Responsibilities

  • Estimates size of backlog items
  • Translation of backlog items into engineering design and logical units of work (tasks)
  • Evaluation of technical feasibility
  • Implementation of backlog items
  • Writes unit tests first to the contract of the interface and other abstract classes
  • Writes and verifies code which adheres to the acceptance criteria
  • Application of product development best practices

 

QA

Role definition

  • Prevents defects from entering the system, as opposed to finding them at the end
  • Facilitates building integrity into the software product and development process

 

Responsibilities

  • Writes test plans which enforce the acceptance criteria of features
  • Keeps all test plans and cases updated to changing requirements
  • Continually integrates the code base with automated builds and functional-level regression tests
  • Notifies when production is blocked due to errors in development
  • Measuring Quality
  • Defining Quality
  • Improving Quality
  • Enforces QA Best Practices
  • Provides visibility into end-to-end product quality
  • Owns QA Health status of releases/projects in SM dashboard

 

 

UED

Role definition

  • Integrating the human factor in to features

 

Responsibilities

  • Responsible for overall UI consistency across interaction models and visual styles
  • Upfront user research (to help inform features/direction)
  • Interaction Design specs (wireframes, user flows) which conform to acceptance criteria of the features
  • Works with the PM on analysis of features conform to user’s needs and provide a consistent experience
  • Ensures features are implemented as designed, and design modified to reflect implemented features
  • Visual Design
  • Prototyping
  • Usability testing

 

Operations

Role definition

  • Keep products running in production

 

Responsibilities

  • Design hardware configurations for BCP, security, monitoring, availability during product design stage
  • Responsible for getting the required hardware using the “HRC” process
  • Set up staging, production environments (and in some cases the QA environment)
  • Post production monitoring, and troubleshooting of product/services
  • Owns OPS Health Status of releases/projects in SM dashboard

 

 

Role comparisons

 

Program Manager vs. Product Manager Comparison

  • Product Manager: owns the decisions on the project tradeoffs
  • Program Manager: owns the execution of the project based on those tradeoffs
  • Product Manager: owns the product vision: overall and per-project
  • Program Manager: owns the execution of the vision for each project

 

 

Advantages to PMs and EMs having a Program Mgr on a project

  • Both are freed from doing all the program/project work!
  • The Product Managers can focus on their true mission:
    • finding the most value in the smallest scope (maximizing ROI)
  • The Engineering Managers can focus on their area of expertise:
    • developing the best engineering design
    • solving technical issues
    • building products in accordance w/ best eng. practices
    • improving performance and stability
This entry was posted in #agile explained and tagged , , , , , , . Bookmark the permalink.