Reading/Roles and responsibilities

Reading teams are comprised of the following roles, which are defined by their associated responsibilities.

Product Owner
The product owner, in a nutshell, is ultimately responsible for the product or service to be delivered. The product owner is responsible for:
 * Providing vision for the product or service being developed
 * Being the single point of escalation for contending priorities among stakeholders
 * Managing the product road map
 * Making final decisions about trade-offs when desired functionality, or scope, exceeds the capacity of the team
 * Defining the target constituent for iterations, releases, and the overall product
 * Making final decision about whether or not work done on stories is complete ('acceptance'). NOTE- bugs and technical/non-user-facing stories are treated differently from user-facing work:
 * if a bug is resolved in Phabricator, it is automatically considered "signed off"
 * for tech tasks, whoever merges the task has indicated that they sign off on it
 * Doing the work of determining what features the team should work on in order to achieve our user, community, and Foundation goals. This is done in collaboration with the team
 * Making sure that our products have a coherent, compelling user experience

Because the product owner has the final say over prioritization, there should be only one person acting as product owner.

Scrum Master
The Scrum Master is primarily responsible for maintaining the team's process and ensuring the team delivers what is expected from the product owner. Responsibilities include:
 * Evolving team/agile capacity
 * Removing blockers
 * Leading/coordinating/facilitating whole team in story delivery
 * Facilitating meetings
 * Optimizing process
 * Coordinating project work streams
 * Helping to manage project/iteration scope
 * Managing external dependencies
 * Escalating risks/issues
 * Reporting on progress

Quality Assurance Analyst (QA)
QA oversees the quality of the product. Responsibilities include:
 * Producing test cases/scenarios
 * Manual testing when not automated/automatable
 * Maintaining regression test suite
 * Integration testing
 * Exploratory testing
 * Assisting in acceptance criteria definition
 * Training and otherwise working with engineers in best-practices for assuring code and product quality

User Experience (UX) Designer
The UX Designer defines how users will interact with the product. Responsibilities include:
 * Gathering data to assess needs/requirements of users
 * Proposing designs to define how users will interact with the functionality of the product (including designs of UX in general, and the product's interface in particular)
 * Providing design expertise and guidance to engineers and QA during code writing and testing
 * Ensuring that the product is not only useful, but usable as well
 * Assisting in narrative and user story development, particularly in the delivery of development-ready design assets and/or prototypes
 * Leading usability testing and logging associated findings

Community Liaison
The Community Liaison:
 * Write user documentation, FAQs, blogs, for features and products so that users are aware of the objective and intention of features
 * Serving as the voice of the community during feature and product planning. Might run surveys or use other mechanism to measure user satisfaction/requests.
 * Shaping and executing community to team communications and vice versa

Engineering
During Q1 FY 2017-2018 (July - September 2017), the engineering group in Readers formulated and discussed the following RACI matrix to describe a number of its core activities.

A short guide to RACI: {D class="wikitable" !Activity !Software Engineer; Associate Software Engineer !Tech Lead (rotating role, on team's timeline) !Senior Software Engineer !Engineering Manager !Engineering Director
 * zesponsible (does the work)
 * Accountable (ensures it happens, on the hook if it doesn't)
 * honsulted (is sought for input)
 * Informed (is notified)
 * Code
 * z
 * h
 * I
 * D
 * Maintain quality and architectural coherence of software
 * R
 * D
 * O
 * N
 * Write excellent code and configuration
 * R
 * R
 * A
 * I
 * Review code and configuration
 * R
 * R/A
 * C/A
 * I
 * Test
 * Write unit tests
 * R
 * R
 * A
 * I
 * Monitor tests
 * R
 * D
 * D
 * O
 * N
 * Manual testing (may complement QA resource's work)
 * R
 * R
 * A
 * I
 * Sign off on technical/nonfunctional task resolution
 * R
 * R
 * A
 * I
 * Build agreed upon automated acceptance tests
 * R
 * R
 * A
 * I
 * Documentation
 * Write inline documentation
 * R
 * R/A
 * I
 * I
 * Write and update on-wiki documentation
 * R
 * R
 * A
 * I
 * Document complex architectural decisions
 * R
 * R
 * A
 * I
 * Standards and Architecture
 * Share technical best practices and standards
 * C/R
 * R
 * R/A
 * I
 * Define and enforce technical best practices and standards
 * C
 * R
 * R/A
 * C/I
 * Develop technical plans to support and maintain architecture to support Readers audiences
 * C
 * R
 * R/A
 * C/I
 * Onboard new team members
 * C
 * R
 * R/A
 * R/A/I
 * Regularly acknowledge/request info on/respond to bugs
 * R
 * R
 * A
 * I
 * Review bugs/tasks for standup
 * C
 * R
 * C
 * A
 * I
 * Team Planning and Coordination
 * Escalate scope and timeline risk
 * R
 * R
 * R/A
 * R/A/I
 * Planning, estimation, and requirements analysis
 * C/R
 * R
 * R/A
 * R/A
 * I
 * Analyze product requirements and ensure technical requirements are adequately generated
 * C/R
 * R
 * R/A
 * I
 * Facilitate impromptu discussions with remote peers
 * R
 * R
 * R/A
 * I
 * Define annual, quarterly, and roadmap goals
 * C
 * C
 * R
 * R/A
 * Cross Team Planning and Coordination
 * Ensure team is represented on wikitech-l and, as appropriate, mobile-l
 * C
 * R
 * R/A
 * C/I
 * Ensure meetings scheduled with appropriate stakeholders
 * C
 * R
 * C
 * R/A
 * C/I
 * Review Scrum of Scrums notes
 * R
 * R
 * R
 * R/A
 * R/I
 * Review and interact on RFCs
 * C
 * R
 * R/A
 * C/I
 * Ensure features destined for stable or removal
 * C
 * R
 * C
 * R/A
 * C/I
 * Attend Reading tech leads meetings, update Scrum of Scrums Etherpad, rotatingly attend SoS, share back
 * C
 * R
 * C
 * A/C/I
 * C/I
 * Coordinate implementation of supporting architecture/infrastructure
 * R/C/I
 * C
 * R/A
 * I
 * Represent engineering discipline in planning activities
 * C
 * R
 * R
 * R/A
 * I
 * Coordinate development and deployment schedules for architectural enhancements across teams
 * C
 * C
 * R/A
 * C/I
 * Identify and manage dependencies across teams
 * C
 * C
 * R
 * R/A
 * C/I
 * Coordinate across audience vertical engineering teams
 * C
 * C
 * R/A
 * R/A
 * Connect external partners with internal team
 * C
 * C
 * C
 * R/A
 * Line Management and Budget
 * Support recruiting & hiring in coordination with management
 * C/I
 * R
 * R/A
 * R/A/C/I
 * Manage staff performance
 * I, as needed
 * C
 * R/A
 * R/A
 * Personnel discipline
 * I, as needed
 * C
 * R/A
 * R/A
 * Resource team
 * C/I
 * C
 * R/A
 * R/A
 * Budgeting
 * C/I, as needed
 * C
 * C
 * R/A
 * }
 * R/I
 * Review and interact on RFCs
 * C
 * R
 * R/A
 * C/I
 * Ensure features destined for stable or removal
 * C
 * R
 * C
 * R/A
 * C/I
 * Attend Reading tech leads meetings, update Scrum of Scrums Etherpad, rotatingly attend SoS, share back
 * C
 * R
 * C
 * A/C/I
 * C/I
 * Coordinate implementation of supporting architecture/infrastructure
 * R/C/I
 * C
 * R/A
 * I
 * Represent engineering discipline in planning activities
 * C
 * R
 * R
 * R/A
 * I
 * Coordinate development and deployment schedules for architectural enhancements across teams
 * C
 * C
 * R/A
 * C/I
 * Identify and manage dependencies across teams
 * C
 * C
 * R
 * R/A
 * C/I
 * Coordinate across audience vertical engineering teams
 * C
 * C
 * R/A
 * R/A
 * Connect external partners with internal team
 * C
 * C
 * C
 * R/A
 * Line Management and Budget
 * Support recruiting & hiring in coordination with management
 * C/I
 * R
 * R/A
 * R/A/C/I
 * Manage staff performance
 * I, as needed
 * C
 * R/A
 * R/A
 * Personnel discipline
 * I, as needed
 * C
 * R/A
 * R/A
 * Resource team
 * C/I
 * C
 * R/A
 * R/A
 * Budgeting
 * C/I, as needed
 * C
 * C
 * R/A
 * }
 * R/A/C/I
 * Manage staff performance
 * I, as needed
 * C
 * R/A
 * R/A
 * Personnel discipline
 * I, as needed
 * C
 * R/A
 * R/A
 * Resource team
 * C/I
 * C
 * R/A
 * R/A
 * Budgeting
 * C/I, as needed
 * C
 * C
 * R/A
 * }
 * Budgeting
 * C/I, as needed
 * C
 * C
 * R/A
 * }
 * R/A
 * }