Reading/Roles and responsibilities
Reading teams are comprised of the following roles, which are defined by their associated responsibilities.
Product Owner
[edit]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
[edit]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)
[edit]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
[edit]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
Movement Communications
[edit]The Movement Communications Specialist is responsible for involving the Movement Communications team resources and applying the Movement Communications strategy and principles. These include:
- Driving the annual plan discussions with the communities
- Coordinating the team communications targeted at the movement within the Foundation ("air traffic control")
- Building the product storytelling and providing support from Brand Studio and External Communications
- Advising on the product strategies, incl. plans for pilot wiki involvement, scaling up deployments, sunsetting
- Writing or reviewing project pages, FAQs, updates, newsletters, blogs + coordinating translations
- Assisting in user testing, feedback collection, and triaging bug reports and feature requests; reviewing team replies and updates based on feedback
- Organizing team meetings with the movement and coordinating guest appearances at the movement events + coordinating interpretation
- Engaging with the affiliates, hubs, and regions
- Maintaining post-deployment relations
See also: Wikimedia Product Guidance (historical)
Engineering
[edit]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:
- Responsible (does the work)
- Accountable (ensures it happens, on the hook if it doesn't)
- Consulted (is sought for input)
- Informed (is notified)
Activity | Software Engineer; Associate Software Engineer | Tech Lead (rotating role, on team's timeline) | Senior Software Engineer | Engineering Manager | Engineering Director |
---|---|---|---|---|---|
Code | |||||
Maintain quality and architectural coherence of software | R | R | A | I | |
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 | R | R | A | I |
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 |