Collaboration/Team/Roles and 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').
 * 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.

Scrummaster
The scrummaster 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

Tech lead
The tech lead guides and represents the engineering team. Responsibilities include:
 * Assisting in planning activities and representing the engineering team at planning meetings when the rest of the team is not present
 * Owning the maintenance of the quality and architectural coherence of the code developed by the project
 * Escalating significant architectural/technical issues for prompt resolution
 * Coordinating regular refactoring/code hygiene to prevent accumulation of technical debt
 * Communicating, educating, and enforcing best practices and standards
 * On-boarding of new team members
 * Bi-Weekly sync up with ops

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

Engineer
Engineers build the product and coordinate the construction of supporting infrastructure. Responsibilities include:
 * Turning user stories/requirements into working software
 * Conducting the technical analysis of requirements
 * Assisting in the evolution of user experience designs
 * Coordinating the implementation of supporting architecture/infrastructure
 * Assisting with testing
 * Estimating user stories
 * Working with QA to automate testing scenarios
 * Presenting work to QA and BA for final testing
 * Escalating risks and issues that impact scope and timeline
 * Writing code in line with project standards
 * Standing behind architectural decisions, patterns and best practices that the team has agreed to

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

Business analyst
The business analyst is responsible for gathering requirements and defining acceptance criteria for user stories. Responsibilities include:
 * Maintaining story pipeline
 * Advising product owner/managers on story priorities
 * Assisting in definition of acceptance criteria
 * Communicating requirements to engineers and user experience designers
 * Helping control scope of iterations and the project as a whole
 * Showcasing the product
 * Testing stories for completion

Community liaison
The Community liaison assists in maintaining a line of communication between the Wikipedia community and the team. Responsibilities include:
 * Disseminating information about new features to the community
 * Gathering feedback on new releases and features requests for future releases from end-users
 * Assisting the product owner in prioritizing feedback and features requests
 * Performing quantitative and/or qualitative analysis to measure the impact and success of features on the editing community
 * Providing deep community insight at every stage of product development