User:Pavithraes/Sandbox/Technical documentation prioritization

Overview
The Documentation project on Phabricator is used to track tasks involving technical documentation across Wikimedia spaces.

A set of guidelines have been outlined to help improve the process of categorization and prioritization of these tasks.

Prioritizing
A technical documentation request becomes a priority in the following cases:
 * There are repeated requests from community and staff to create or improve existing documentation for X
 * A process will not work or cannot be completed if X is not documented correctly
 * The steps outlined for a process are wrong or incomplete
 * The information about X is wrong or out of date
 * The organization of a document makes it difficult or impossible to find important information
 * X is automated and not updating properly

Categorizing
A technial documentation request needs to be categorized into one of the following boards:

Location
A lot of the technical documentation for Wikimedia project can be found on:
 * https://wikitech.wikimedia.org/wiki/Main_Page
 * https://www.mediawiki.org/wiki/Main_Page
 * Auto-generated docs

Ticket Content
Existing docs:
 * What is the problem? Is the information wrong? Are there steps missing? Have interfaces or options changed?
 * What information do you need to know in order to make the information complete?
 * Where is the problem? Provide a link to the page or section that needs to be updated.

New Docs:
 * Where should it go? Ideally, you can provide a location and title.
 * Why is it important?
 * What information should be included?
 * What genre of document would you like created?

Authors/Assignees:
 * Who will fix or create the technical documentation?
 * Is it something that you can update or share information about?
 * What level of knowledge or skill do you think someone might need to complete this task? This helps individuals to identify who might be able to complete the work on this ticket, if you cannot.

Points to note
If you do not know how to work on the request:


 * Make sure to follow up on your request regularly.
 * Be willing to make certain updates yourself with the help of other collaborators.

If you know how to implement the request, however, are unable to do so yourself:


 * Communicate your knowledge and ideas in the comments section or in the task description.
 * Assist the contributor working on the task with regular feedback.
 * Try to follow up on the task.

If you can implement the request yourself:


 * Write a clear task description and set yourself as the assignee of the task.
 * Communicate your progress and be open to feedback from other contributors.

Changing status
When working in Phabricator it is important to respect the culture and values of an open source community. Many people from many places with many different points of view and skill levels will be working together to surface issues and resolve them. It takes time and energy to open a ticket, and equal energy should be spent evaluating and prioritizing it. Be thoughtful about the people behind the tasks.


 * Resolved - Use this if the ticket is truly resolved.
 * Stalled - There has been no traction on this ticket in a long time. What can we do to get it moving?
 * Declined - Avoid using this, unless a task is truly not possible. Consider moving ticket to lowest priority.
 * Invalid - Use this only if the request is not actionable in anyway.

Changing Priority

 * Unbreak Now - Rarely if ever needed for technical documentation
 * Needs Triage - Ticket starts out here. Set one of the below priorities, once the task is understood.
 * High - Issues that are blocking folks from completing tasks or understanding how to complete them, super quick fixes -- if it will only take a few min to update
 * Normal - Requests for new documentation or improvements, which will greatly improve user experiences
 * Low - Requests for new documentation or improvements, which would be nice to have
 * Very Low - older requests, which are not well defined or do not present a blocker

Following up
When you file a ticket in Phabricator, you are automatically subscribed to it. You will receive notifications when changes are made to the ticket. It is your responsibility to follow-up, ask questions, clarify, and be aware of the status of the ticket. Many requests for technical documentation end up not being resolved, because they are filed with the expectation that "somebody should do something" about it.

Never forget: you are somebody!

Continuous improvement
Technical documentation is never truly finished. Don't hesitate to reopen a closed Phabricator task, if additional improvements are needed. If you are able to edit and feel you have sufficient knowledge to share, you can and should update the documentation.

Closing a ticket
When is technical documentation done? The short answer is: never. However, we can take actions on Phabricator request and close them when we feel there is sufficient technical documentation to complete necessary work. Close tickets when:
 * The requested update or improvement has been made to the technical documentation.
 * New documentation is created, meets the requirements of the technical documentation style guide and has sufficient information to meet the specifications of the ticket.

Examples
Improvement

New doc

Help
For questions or help, contact wikitech-l@lists.wikimedia.org.