Wikimedia Mobile engineering/Team/Roles and responsibilities

This is an attempt to capture the mobile team's various roles and responsibilities. The roles and responsibilities were derived from assets provided during various ThoughtWorks trainings.

Roles Responsibilities Who
Product owner
  • Manages product roadmap (release deliverables, number of releases, frequency of releases)
  • Defines product vision for each release
  • Defines target audience for each release
  • Identifies and prioritizes functionality
  • Final decision when desired functionality exceeds capacity
  • Jon Katz
Scrummaster
  • Coordinates project workstreams
  • Manages scope
  • Manages external dependencies
  • Identifies risks/issues
  • Shepherds team leads
  • Evolves agile capability
  • Removes blockers
  • Tracks/reports velocity
  • Facilitates meetings
  • Helps optimize process
  • Kristen
Business analyst (BA)
  • Maintains story pipeline
  • Advises product on story priorities
  • Assists in creating acceptance criteria
  • Helps control scope
  • Provides story clarification
  • Showcases application
  • Tests stories for completion
  • Jon Katz
  • Kristen
  • Sam
  • Jon R
Quality assurance
  • Helps BA define acceptance criteria
  • Produce test cases/scenarios
  • Manual tests where they can't be automated
  • Executes in-depth tests against acceptance criteria to validate story completeness
  • Maintains automated tests
  • Structured exploratory testing
  • Integration testing
  • Broadcasts test results to the team
  • ?
Developer/engineer
  • Turns requirements into working software
    • Help with technical analysis
    • Help with detailed design
    • Help with architecture
    • Help with testing
  • Estimation of stories
  • Work with QAs to automate story test scenarios
  • Write code to satisfy acceptance criteria
  • Resolve issues and fix prioritized bugs
  • Decide own standards, technology and architecture
  • Presents work to QA/BA prior to final testing
  • Stand behind architectural decisions/patterns/best practices the team has agreed to
  • Jon R
  • Max
  • Kaldari
  • Baha
  • Joaquin
  • Rob
  • Sam
Tech lead
  • Responsible for code and design quality
    • Technical authority for the team; final decision on all major technical design issues
    • Escalate significant technical issues for resolution
    • Ensure code hygiene (refactoring, test cases, etc)
  • Education and guidance
    • Help onboard new developers
    • Ensure that developers' ideas are captured and clarified
  • Ensures team adherence to common standards
  • Help with planning/tracking
    • Represent dev team in meetings that facilitate planning/tracking when the rest of the team is not present
    • Assits BAs with scoping of story cards
    • Determine initial high-level estimates for stories
    • Assist QA in test automation
    • Ensure that dev issues are communicated promptly/regularly to scrummaster/product
    • Attend Scrum of Scrums meetings
  • Jon R
  • Sam
UX/Design
  • Gather real-world data to assess needs/requirements of users
  • Propose designs that define how the end user should interact with the feature
  • Provide functional expertise to QA in test writing/to devs during code writing
  • Assist BAs in narrative development process
  • Lead writing of usability testing
  • Capture recommendations coming from usability testing
  • Moiz
  • Kaity