Community Tech/All Our Ideas/Process

The All Our Ideas Tool Survey was a survey conducted of the English and Spanish Wikipedia communities in 2014 to collect and prioritize ideas for improving the tools used by those communities. The results of the survey can be seen at the following URLs:

While preparations are being made for a cross-project technical request survey, the Community Tech team will begin working on the requests identified by the community as high priority in the All Our Ideas survey.

The workflow for this process will involve 4 steps: selection, investigation/discussion, analysis/prioritization, and development.

Selection edit

An entry will be created at Community Tech/All Our Ideas for each of the 10 top-scoring requests from each of the two surveys. Any overlapping requests will be combined into a single entry.

Investigation and discussion edit

For each of the requests, we will be asking the following questions:

  • Are there high priority bugs or features that the Community Tech team could address in a short period of time (within a month or two)?
  • If so, is the maintainer amenable to working with the Community Tech team and is the code publicly available?
  • Would this be a good tool to convert into a MediaWiki extension or add as functionality to an existing extension?

The community is welcome to participate in discussion of these items, either on-wiki or in Phabricator. (Any important conclusions that are reached on Phabricator should be reported back on-wiki.)

Once investigation is complete for a request, several courses of action are possible:

  • Create one or more development tasks related to that request and list them in the ‘Analysis and prioritization’ section. Remove the original item from Investigation.
  • If the request is better suited for another development team to handle, move it to the ‘Referred to another team’ section and reassign any related tasks in Phabricator.
  • If the task is outside the scope of the Community Tech team and no other team is available to work on it, move it to the ‘Blocked/declined’ section.
  • If the task is indefinitely blocked for any reason, move it to the ‘Blocked/declined’ section.

Analysis and prioritization edit

Once a development task has been clearly defined, it will be analyzed according to the following criteria:

  • Support
    • How high a score did get in the surveys?
    • Are there discussions showing consensus for the request?
    • If the task involves working on an existing codebase, are the current maintainers open to us modifying or forking their code?
  • Feasibility
    • How much work is involved?
    • Are there any blockers?
    • Does our team have the necessary knowledge to accomplish the task in a timely manner?
  • Impact
    • How many wiki projects will this benefit?
    • How many editors will this benefit?
    • How much will this improve the efficiency and happiness of the communities?
    • Is there existing software that can cover this need? (or software that is already being developed)
  • Risk
    • Are there any potential cons?
    • Does it negatively affect any group of editors?
    • Is the task well defined with a clear scope? (i.e. does it have defined acceptance criteria)

Once analysis is complete, a priority will be assigned to the task by the Community Tech team (high, normal, or low) and it will be moved to the ‘Ready’ section.

Development edit

After a task has been prioritized, it will eventually be assigned to a developer. At that point, its entry will be moved to the ‘In progress’ section. Once development is complete and the Phabricator task is resolved, it will be moved to ‘Complete’.