User:Krenair/Phabricator projects

This document has been written with software development tasks in mind, but many of the ideas could be applicable to other types of tasks.

The purpose of filing software tasks in Phabricator is to bring attention to an issue, make sure it is not forgotten, and centralise discussion about it (instead of important points being spread out over IRC, mailing lists, private emails, face to face discussions, meetings, etc.)

Developers tend to find tasks through a few different methods, for example: The common theme here is that discovery of tickets revolves around projects. Getting your list of projects right is vital to drawing the attention of the developers who can help you. There are many different developers working on different things for Wikimedia, and except for the most basic of tasks you’re probably going to need to find an expert in the right area.
 * Project watching - some developers watch all tickets being added to their projects, receiving notifications via email.
 * Project workboards - some developers keep a project workboard tab or two and look for tasks to take on there.
 * Searching - occasionally developers will be looking for a ticket with a given criteria (usually involving projects) and come across other related (or sometimes unrelated, because Phabricator searching...) issues which they can then contribute to.
 * IRC - a few developers do keep an eye on the feed of tickets going through on IRC. This is more normal in channels on specific subjects/teams (where you only get tasks listing their relevant projects) rather than #wikimedia-dev.

There are several types of projects, which won’t all be duplicated here but details can be found in the Wikimedia Phabricator documentation.

What does this mean for users filing tasks?
To make your task filing worth it, you need to list the projects which are relevant to your task.

Here’s some basic tips:
 * Try not to end up filing a task with no projects. If you really don’t know what to add, you can try this anyway (assuming it’s not very high priority) and hope it gets picked up by people such as the Bug Wrangler (who will often just have to ask you to associate projects with it anyway). But take a moment to consider whether your task is really appropriate to put in Phabricator - if there is no project for the software, are the developers of it actually looking for tasks in Phabricator? For example, most on-wiki gadgets do not have issues tracked in Phabricator, and normal (non-gadget) developers are unlikely to accept tasks for them.
 * Make sure you’re not filing only against ‘tag’ projects. These can be identified by the yellow background and luggage tag symbol. Tag projects are cross-component never-ending projects that not many people are going to be subscribed to, are unlikely going to draw the attention of relevant experts, probably don’t have useful workboards, get fed to #wikimedia-dev (not usually specific subject IRC channels), and people are unlikely to be searching for tasks in them. No, Wikimedia-General-or-Unknown is not a useful project.
 * If you’re not sure whether a particular project is appropriate for your task, open a new Phabricator tab and use the search function (top right hand corner of the page) to find the description of the project (just query the project name).
 * Don't list projects which have greyed out backgrounds. These are archived projects which no one will be watching for.
 * Only semi-related, but: Do not make the mistake of assuming the project list limits visibility. It does not. Use the Security dropdown for this, or seek advice from someone who actually knows what they’re doing.