User:Michael Große (WMDE)/drafts/Checklist for grooming a maintenance story

From mediawiki.org

These guidelines are intended to support writing a good maintenance/tech story. Well-written tasks are more likely to be worked on quickly.

Checklist for writing a non-product phabricator story[edit]

Go through the items below and add the ones that apply, skip those that do not. If you feel that anything is missing feel free to suggest new items to be added to this list.

Give context[edit]

  • Why is this task needed?
  • If possible, link to the previous work (phab ticket or other) in whose context the technical debt was created or otherwise provide an explanation for the current situation
  • Are there metrics that are related to the issue in this task?
    • If so, link to them (e.g. on Grafana)
    • Or should any metrics be created?
  • Has similar work been done before? ⇾ Link to it
  • Are there currently ongoing discussions on phabricator/wikitech mailing list/on wiki that are related to this ticket? ⇾ Link to it

What needs doing specifically[edit]

  • What are the Acceptance Criteria?
  • What components need changing?
    • What components (or files) are affected by this?
    • Are there components for which we need to publish a new release to npmjs/packagist/…?
    • Is there documentation that needs to be adjusted?
  • Which other roles need to be consulted or informed or need to approve things?
    • Database Administrators? Ops? CI Administrators?
    • How/In which IRC channel can they be reached?
    • Other teams affected/needed?
    • Announcements to the community needed?
  • Are there any Open Questions?

How to get started on this ticket[edit]

  • MediaWiki Preconditions for the local development environment
    • Which extensions need to be installed and enabled? (E.g., "WikibaseLexeme installed")
    • Which special settings need to be set in LocalSettings.php? (E.g., "Set $wgEnableJavaScriptTest to true in LocalSettings.php")
  • How can the problem be reproduced? (Steps to reproduce, current behavior, desired behavior)
    • An alternative way to think about it: How to verify that the problem is solved/still exists?
  • Are there multiple different ways to mend the underlying problem? If so, mention them all here.
  • Is there relevant documentation related to this code or problem on wikitech, mediawiki.org, or https://doc.wikimedia.org/? -> Link to it
  • How to get started with working on this task? Which steps seem necessary to implement it?