This page attempts to be a one-stop shop for figuring out what the most important thing to work on is, so that team members (contributors) can determine the more effective way to improve Flutter.

  1. Build breakage. Check the dashboard.
  2. P0 issues (e.g. serious regressions).
  3. Mentoring promising new contributors.
  4. Code review of open PRs.
  5. P1 issues, including:
    1. Flaky tests.
    2. Performance regressions. Check the dashboard for new unreported regressions and see GitHub for the list of reported performance regressions.
    3. Other regressions.
    4. Reducing technical debt. (For example, increasing our test coverage by writing new tests, or fixing TODOs.)
  6. P2 issues, which correspond to the remaining areas of our [[roadmap]], such as:
  7. Issues sorted by thumbs-up. Focus on bugs in existing code and avoid adding new code.
  8. Everything else. Consider this advice when prioritizing bugs.

Bugs in other bug systems should be tracked with bugs in GitHub. OKRs should be reflected in the items listed above. For example, OKRs should reflect what the roadmap covers, expected customer blockers, and so forth. Work that is unique to a particular quarter would be represented by a filed bug with a milestone and assignee.

During [[triage]], bugs should be prioritized according to the P0-P3 labels so as to fit the order described above.

Sometimes, items in the list above escalate. For example, a bug might get filed as a P2 issue, then be recognized as a critical regression and upgraded to P0.

See also:

  • [[Issue Hygiene]], in particular the section on prioritization.