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
|
|
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
|
|
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
|
|
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
|
|