QA/Taskboard
Overview
The "One and Done" initiative, previously known as "QA Taskboard", is a workflow where Mozilla community contributors can pick tasks and work on them - one at a time, one day at a time - and feel good about doing them.
Mozilla QA sees the "One and Done" initiative as a way for Mozilla community contributors to get introduced to various projects and then to become involved in an area of their interest.
Contributors would be able to find their voice in the community, be able to engage meaningfully, and feel rewarded for their contribution.
Communication Channels
If you want to help on the project, it's very easy to start.
Mailing List
Subscribe to our QA team mailing list and send us an e-mail presenting yourself and telling us what kind of tasks you would like to do.
IRC
You can find us at irc.mozilla.org on the #qa channel. If you don't have an IRC client, simply click here to use Mibbit's online IRC client.
Meetings
Product Version 1.0
Goals
- Goals to be met from the perspective of Mozilla QA
- Make it easy to attract and engage people who want to contribute.
- Work well for Mozilla QA's needs and dovetail nicely into existing workflows.
- Goals to be met from the perspective of Mozilla Community
- Help new people come in and find their voice.
- Enable people to contribute in an area of their interest.
- Enable people to take up and complete tasks broken up into well-defined chunks with respect to time, scope and difficulty level.
- Reward people for their contribution.
Mockups
We've come up with two design ideas
- One and Done workflow with mockups - QA/Taskboard/Workflows
- QA Taskboard Simple Card View - QA/Taskboard/Mockups/simple_card_view
Features
A Mozilla Community Contributor should be able to:
- Create a personal profile to state areas of interest, technical ability, time generally available at hand on a daily basis, etc.
- Go through a list of tasks that match the profile.
- Pick up one task that matches profile and current time available.
- Read clear instructions on how to do the task.
- Get help from Mozilla QA Mentors assigned to the task.
- Update progress on task.
- Pause work on the task and resume at a later time, perhaps from a different location.
- Mark the task as abandoned or complete.
- Give feedback on the task.
- See the task completion reflected in profile statistics.
- Participate in community discussion to make "One and Done" better (similar to Meta Stack Overflow)
A Mozilla QA team member should be able to:
- Define areas of interest within Mozilla QA in which Mozilla Community Contributors may participate (e.g. WebQA, B2G, etc).
- Define test environment needed for completing tasks in each area of interest.
- Define common tasks for contributors (e.g. bug reporting, bug triage, bug verification, etc.)
- Define clear workflows for each common task (similar to Ubuntu's 5-a-day)
- Create tasks with clear instructions, a defined time box and other attributes (e.g. priority for Mozilla QA, difficulty level, area of interest, etc.).
- Internally discuss a particular task by sharing the task's URL.
- Identify and associate Mozilla QA Mentors for each task.
- Schedule each task for when Mozilla QA Mentors are available to support contributor.
- Save the task in an "unpublished" state and make it "go live" as needed.
- Make unlimited instances of a task available for contributors to pick up (for example, test case suites on a testday).
- See a list of all tasks (drill down by unpublished / live, , completed / abandoned, priority for Mozilla QA, difficulty level, area of interest, etc.)
- Get notified when a contributor picks up the task.
- Mentor contributor in case help is requested or encouragement is needed.
- Get notified when contributor updates progress on the task, and marks it complete or abandoned.
- Send thanks to the contributor.
A Mozilla Manager (Community, Project, QA, etc.) should be able to:
- Read feedback of contributors after task completion.
- Read metrics of community participation.
- Participate in community discussion (similar to Meta Stack Overflow).
Metrics:
- List of tasks in progress but not completed within the expected duration (also known as "hanging tasks" or "long-pending tasks").
- Number of unique contributors taking up tasks daily (drill down by area of interest, technical ability, etc.)
- Number of tasks completed daily (drill down by area of interest, difficulty level, etc.)
- Actual time taken to execute a task versus expected
- List of top contributors (sorted by total tasks completed)
Architecture
Web Application Framework
Mozilla's Playdoh is a web application template based on Django.
Internationalization
The product should be designed so that it can be adapted to various languages and regions (locales) without engineering changes.
Error Handling and Reporting
The product should be designed so that it can handle errors gracefully, show an appropriate error message in the UI, and report errors on the backend for administrators to resolve.
Source Code Repository
This is the Github repo for the product.
Bug Reports
Please track bugs in the Github repo for the product.
Community Discussion Framework
OSQA is an open source, Django-based clone of Stack Overflow. It can be used to provide a forum for community discussion and participation.
Product Version 2.0
(Features that are nice-to-have but do not fit into Version 1.0 above can be listed here.)
A Mozilla Community Contributor should be able to:
- Earn reputation and badges.
A Mozilla Manager (Community, Project, QA, etc.) should be able to:
- Define how reputation and badges should be earned.
Metrics:
- List of top contributors (sorted by reputation, number of badges)