Опитування побажань спільноти/Ранжування

This page is a translated version of the page Community Wishlist Survey/Prioritization and the translation is 70% complete.

Ця стаття написана для волонетрів, ентузіастів Опитування побажань спільноти та заангажованих дописувачів. Ми, Community Tech, хочемо описати, як ми плануємо опрацьовувати пропозиції після завершення голосування. Ми сподіваємось пояснити наш процес розробки програмного забезпечення. Просимо про відгуки стосовно чіткості документа.

Внаслідок кожного редагування Опитування побажань спільноти виникає новий порядок побажань, посортованих за голосами. Протягом років ми переконались, що простий відбір до роботи 10-ти найпопулярніших не є найкращим способом вибору.

Натомість, ми виробили метод поділу за пріоритетами. Ми переглядаємо пропозиції в їхній системі і з обговоренням. Відбір за пріоритетами помагає працювати так, щоб довести до завершення максимально можливу кількість заявок. Ось кілька думок з цього приводу:

  • Популярність заявки є дуже важливим фактором відбору, але не єдиним.
  • Найкраще опрацьовувати пропозиції за їх стратегічністю, щоб здійснити по змозі найбільше.
  • Інженери й дизайнери мають працювати так, щоб не заважати одні одним. Наприклад, коли дизайнери досліджують пропозицію та створюють візуальні компоненти пропозицій, інженери зосереджуються на чисто технічних пропозиціях.
  • Краще відкрито спілкуватись зі спільнотами, аніж ховати деталі розробок. Прозорість будує довіру і діалог.

Загальні критерії

Для визначення черговості ми переглядаємо 30 найпопулярніших пропозицій. Ми не розглядаємо менш популярних заявок, бо очевидно не зможемо задовольнити за рік більш ніж 30 пропозицій. Ми оцінюємо заявки за популярністю, технічною і дизайнерською складністю, а також за впливом на спільноту. Загальними критеріями вважаються:

 
Оцінка пріоритетності пропозицій для Community Tech

Після бальної оцінки пропозицій ми розташовуємо їх у порядку спадання. Лише потім ми можемо:

  • Взяти в роботу максимальну кількість заявок під наявні у нас ресурси.
  • Орієнтуватись на максимальний вплив, беручи до уваги технічну підтримку і складність.

Ми також консультуємось з іншими командами Фонду та довідуємось, чи вони не працюють над подібними проєктами.

Технічна складність

Критерії

Our engineers estimate how much effort they would need to put into granting a wish. They prioritize less complex (more workable) projects. Whenever something is not clear, they try to overestimate rather than underestimate.

  • Technical dependency – we check if the work requires interactions with other Wikimedia Foundation teams. It could be that part of the work needs to be on other teams' roadmap or that we need other teams' input or feedback before we can complete the wish. Examples of these are schema changes, security reviews, adding a new extension, and upgrading third-party libraries.
  • Technical research – we ask ourselves if we know how to approach a particular problem. Sometimes we need to evaluate and consider our options before we can start thinking about a solution. Sometimes we need to confirm that what needs to be done can be done or is within what the platform we are working on can handle.
  • Technical effort – we ask ourselves how familiar we are with the underlying code and how big or complex the task can be. A high-effort score could also mean that the code we'll be working with is old, brittle, or has some degree of technical debt that will have to be dealt with before we can start working on our actual task.

Рівень

Кожен з критеріїв оцінюється балами від 1 до 6:

1 - Найнижчої складності
  • Технічне вирішення дуже просте — проблема зустрічається в практиці учасників та у відомому кодуванні
  • Рішення може вже існувати в попередніх розробках членів спільноти у формі існуючого ґаджету, розширення чи коду доступного публічно
  • Членам інженерного сектора команди Community Tech відомий потрібний код
  • Вимагається нескладне тестування якості, лише одна задача для тестування якості
2 - Низької складності
  • Технічне вирішення відносно просте — проблема зустрічається в практиці учасників та у відомому кодуванні
  • Рішення може вже існувати в попередніх розробках членів спільноти у формі існуючого ґаджету, розширення чи коду доступного публічно
  • Членам інженерного сектора команди Community Tech відомий потрібний код
  • Підтримки майже не вимагається
  • Потрібна минимальная переробка коду
  • Кодування можна отрмиати від партнерів
  • Вимагається нескладне тестування якості, менше п'яти задач для тестування якості
3 — Середня складність
  • Технічне рішення є відкритим – проблема існує в кількох частинах взаємодії з користувачем, а також в одній або кількох частинах кодової бази чи сховищ
  • Рішення часткове або не існує
  • Члени Технічної команди спільноти не знайомі або малознайомі з кодом
  • Потрібно трохи обслуговування
  • Може знадобитися рефакторинг коду
  • Потенційне додавання залежності від третіх сторін
  • Необхідне тестування якості перед випуском, 5+ завдань, які варті перевірки якості
4 - Середня велика складність
  • Технічне рішення є відкритим – проблема існує в кількох частинах взаємодії з користувачем, а також в одній або кількох частинах кодової бази чи сховищ
  • Рішення не реалізовано
  • Члени команди Community Tech мають обмежені знання або не знайомі з кодом
  • Потрібне технічне обслуговування
  • Можливо, знадобляться деякі зміни схеми бази даних
  • Потрібен рефакторинг коду
  • Потрібні зміни до компонентів автентифікації/безпеки, наприклад автентифікації, позначок функцій, контролю доступу
  • Потенційне додавання залежності від третіх сторін
  • Необхідне тестування якості перед випуском, 5+ завдань, які варті перевірки якості
5 — Висока складність
  • Технічне рішення має невідомі дані – проблема існує в кількох частинах взаємодії з користувачем, а також в одній або кількох частинах кодової бази чи сховищ
  • Можливо, потрібно буде розробити систему або новий інструмент
  • Члени команди Community Tech не знайомі з кодом
  • Потрібне технічне обслуговування
  • Можливо, знадобляться деякі зміни схеми бази даних
  • Потрібен рефакторинг коду
  • Потрібні зміни до компонентів автентифікації/безпеки, наприклад автентифікації, позначок функцій, контролю доступу
  • Потенційне додавання залежності від третіх сторін
  • Необхідне тестування якості перед випуском, 5+ завдань, які варті перевірки якості
6 - Надвелика складність
  • Технічне рішення має багато невідомих – проблема існує в кількох частинах взаємодії з користувачем, а також в одній або кількох частинах кодової бази чи сховищ
  • Можливо, потрібно буде розробити систему або новий інструмент
  • Члени команди Community Tech не знайомі з кодовою базою, якої стосується це бажання
  • Потрібне технічне обслуговування
  • Потрібен істотний рефакторинг коду
  • Може знадобитися складна зміна схеми бази даних
  • Потрібен істотний рефакторинг коду
  • Потрібні зміни до компонентів автентифікації/безпеки, наприклад автентифікації, позначок функцій, контролю доступу
  • Add third party code dependencies
  • Необхідне тестування якості перед випуском, 10+ завдань для перевірки якості

Продукт і складність дизайну

Критерії

Similarly to the assessments above, our designer estimates what effort should be made to complete a project. They prioritize less complex (more workable) projects. Whenever something is not clear, they tries to overestimate rather than underestimate.

  • Design research effort – we seek to understand the level of research needed for each proposal. In this case, the research involves understanding the problem, either at the very beginning through initial discovery work (the scope and details of the project, surveys or interviews with community members), or later in the process through community discussions and usability testing (e.g. how do users contribute with and without this new feature).
  • Visual design effort – a significant number of proposals require changes in the user interface of Wikimedia projects. Therefore, we check to estimate the change of the user interface, how many elements need to be designed and their complexity. For instance, using existing components from our design system or creating new ones, keeping in mind how many states or warnings need to be conceived to help guide users, including newcomers.
  • Workflow complexity – we ask ourselves how does this particular problem interfere with the current workflows or steps in the user experience of editors. For example, a high score here would mean that there are a lot of different scenarios or places in the user interface where contributors might interact with a new feature. It can also mean that we might have to design for different user groups, advanced and newcomers alike.

Рівень

Кожен з них оцінюється за шкалою від 1 до 6:

1 - Найнижчої складності
  • Дизайнерське рішення вбудоване в саму пропозицію - це технічне виправлення, і не потрібно змінювати інтерфейс користувача
  • Збір даних не потрібен
  • Немає колекції опитувань користувачів
  • Немає немодерованих досліджень користувачів
  • Без дизайну
2 - Низької складності
  • Зміни поширюються лише на одну сторінку всередині досвіду з обмеженою кількістю станів (тобто зміни впливають лише на одну сторінку / один проект Wikimedia)
  • Для розуміння поведінки та больової точки за допомогою опитування чи кількісних даних не потрібно майже жодного початкового збору даних
  • Не потребує немодерованих досліджень
  • Перш ніж втілити це бажання, ми вже зібрали дані, необхідні для прийняття обґрунтованих рішень щодо продукту та дизайну
3 — Середня складність
  • Перш ніж задовольнити це бажання, ми вже зібрали «більшість» даних, щоб приймати обґрунтовані рішення про продукт і дизайн, але може знадобитися відстеження нових даних, перш ніж почати розуміти проблему
  • Потрібне немодероване дослідження користувачів, але знайти користувачів для цих потоків неважко
  • Може стосуватися кількох сторінок досвіду, але зазвичай обмежується підмножиною досвіду та є простим
  • Обмежується розробкою для одного типу потреб користувача
4 - Середня велика складність
  • Перш ніж вирішити це бажання, ми вже збираємо «деякі» дані, щоб приймати обґрунтовані рішення про продукт і дизайн, але може знадобитися відстеження нових даних, перш ніж почати розуміти проблему
  • Потрібне немодероване дослідження користувачів, але знайти користувачів для цих потоків неважко
  • Може стосуватися кількох сторінок досвіду, але зазвичай обмежується підмножиною досвіду та є простим
  • Потрібне опитування на початку бажання
  • Обмежується розробкою для двох типів потреб користувачів
  • Торкається більше ніж однієї сторінки досвіду, але зазвичай обмежується підмножиною досвіду та є простим
5 - Large Complexity
  • Requires qualitative discovery and quantitative data collection
  • Requires unmoderated user research and the users for the research are hard to source given the complexity of wish
  • Can require designing new technical information into the UI
  • Requires touching multiple pages in the flow
  • Requires a survey at the beginning of wish
  • Requires touching multiple pages in the flow and or has cross-project implications
  • Impacts across multiple user states, for example
    • Editors
    • Readers
    • Proofreaders etc.
6 - Extra Large Complexity
  • Requires investigation by the process of qualitative discovery and quantitative data collection
  • Potentially controversial implications that must be mitigated by working with communities
  • Requires unmoderated user research and the users for the research are hard to source given the complexity of designs
  • Requires designing for a “learning curve” or introducing new technical information into the UI
  • Requires touching multiple pages in the flow and or has cross-project implications
  • Impacts across multiple user states and across needs:
    • Editors
    • Readers
    • Contributors
    • Newcomers

Community Impact

In contrast to the two perspectives described above, this part is about equity. Practically, it's about ensuring that the majorities aren't the only ones whose needs we work on.

Depending on this score, proposals with similar numbers of votes and similar degrees of complexity are more or less likely to be prioritized. If a given criterion is met, the proposal gets +1. The more intersections, the higher the score. This assessment was added by our Community Relations Specialist.

  • Not only for Wikipedia – proposals related to various projects and project-neutral proposals, are ranked higher than projects dedicated only to Wikipedia. [[Community Wishlist Survey 2022/Editing/Autosave edited or new unpublished article|Autosave edited or new unpublished article]] is an example of a prioritized proposal.
  • Sister projects and smaller wikis – we additionally prioritize proposals about the undersupported projects (like Wikisource or Wiktionary). We counted Wikimedia Commons as one of these. [[Community Wishlist Survey 2022/Bots and gadgets/Tool that reviews new uploads for potential copyright violations|Tool that reviews new uploads for potential copyright violations]] is an example of a prioritized proposal.
  • Critical supporting groups – we prioritize proposals dedicated to stewards, CheckUsers, admins, and similar groups serving and technically supporting the broader community. [[Community Wishlist Survey 2022/Admins and patrollers/Show recent block history for IPs and ranges|Show recent block history for IPs and ranges]] is an example of a prioritized proposal.
  • Reading experience – we prioritize proposals improving the experience of the largest group of users – the readers. [[Community Wishlist Survey 2022/Editing/Select preview image|Select preview image]] is an example of a prioritized proposal.
  • Non-textual content and structured data – we prioritize proposals related to multimedia, graphs, etc. [[Community Wishlist Survey 2022/Multimedia and Commons/Mass uploader|Mass uploader]] is an example of a prioritized proposal.
  • Urgency – we prioritize perennial bugs, recurring proposals, and changes which would make contributing significantly smoother. [[Community Wishlist Survey 2022/Wikisource/Fix search and replace in the Page namespace editor|Fix search and replace in the Page namespace editor]] is an example of a prioritized proposal.
  • Barrier for entry – we prioritize proposals about communication and those which would help to make the first contributions. [[Community Wishlist Survey 2022/Mobile and apps/Show editnotices on mobile|Show editnotices on mobile]] is an example of a prioritized proposal.

2022 Results ranked by Prioritization Score

These scores may change when we start working on the proposals. As we explained above, we have tried to overestimate rather than underestimate. Check out the proposals, in order of prioritization:

Wish Місце за популярністю Голосів Engineering Score Product and Design Score Community Impact Score Prioritization Score
[[Community Wishlist Survey 2022/Editing/Autosave edited or new unpublished article|Autosave edited or new unpublished article]] 29 69 1.0 0.3 2 2.66
[[Community Wishlist Survey 2022/Miscellaneous/Get WhatLinksHere's lists in alphabetical order|Get WhatLinksHere's lists in alphabetical order]] 22 74 1.3 0.3 2 2.63
[[Community Wishlist Survey 2022/Search/Enable negation for tag filters|Enable negation for tag filters]] 26 71 2.0 0.3 2 2.47
[[Community Wishlist Survey 2022/Wikisource/Fix search and replace in the Page namespace editor|Fix search and replace in the Page namespace editor]] 11 93 2.3 0.7 2 2.47
[[Community Wishlist Survey 2022/Multimedia and Commons/Improve SVG rendering|Improve SVG rendering]] 5 108 4.0 0.8 3 2.44
[[Community Wishlist Survey 2022/Anti-harassment/Notifications for user page edits|Notifications for user page edits]] 2 123 1.3 1.7 1 2.38
[[Community Wishlist Survey 2022/Miscellaneous/Check if a page exists without populating WhatLinksHere|Check if a page exists without populating WhatLinksHere]] 14 89 2.7 0.7 2 2.38
[[Community Wishlist Survey 2022/Bots and gadgets/Tool that reviews new uploads for potential copyright violations|Tool that reviews new uploads for potential copyright violations]] 4 109 4.3 2.7 4 2.21
[[Community Wishlist Survey 2022/Reading/IPA audio renderer|IPA audio renderer]] 9 97 3.0 2.7 3 2.15
[[Community Wishlist Survey 2022/Reading/floating table headers|floating table headers]] 24 73 1.0 2.7 2 2.14
[[Community Wishlist Survey 2022/Admins and patrollers/Mass-delete to offer drop-down of standard reasons, or templated reasons.|Mass-delete to offer drop-down of standard reasons, or templated reasons.]] 25 72 1.0 2.7 2 2.14
[[Community Wishlist Survey 2022/Editing/Formatting columns in table|Formatting columns in table]] 19 77 4.0 0.3 2 2.11
[[Community Wishlist Survey 2022/Editing/Select preview image|Select preview image]] 8 100 3.0 2.0 2 2.07
[[Community Wishlist Survey 2022/Translation/Add DeepL as a machine translation option in ContentTranslation|Add DeepL as a machine translation option in ContentTranslation]] 20 75 3.3 0.0 1 2.06
[[Community Wishlist Survey 2022/Search/Change default number of search results displayed|Change default number of search results displayed]] 12 92 2.0 1.7 1 2.05
[[Community Wishlist Survey 2022/Editing/Better diff handling of paragraph splits|Better diff handling of paragraph splits]] 1 157 3.3 2.3 1 2.04
[[Community Wishlist Survey 2022/Mobile and apps/Table sorting on mobile|Table sorting on mobile]] 17 83 2.3 1.7 1 1.92
[[Community Wishlist Survey 2022/Miscellaneous/Enhanced Move Logs|Enhanced Move Logs]] 10 96 2.7 2.3 1 1.79
[[Community Wishlist Survey 2022/Bots and gadgets/Gadget: Who is active|Gadget: Who is active]] 26 71 1.3 4.0 2 1.76
[[Community Wishlist Survey 2022/Admins and patrollers/Show recent block history for IPs and ranges|Show recent block history for IPs and ranges]] 3 120 4.0 3.7 2 1.61
[[Community Wishlist Survey 2022/Admins and patrollers/Reminders or edit notifications after block expiration|Reminders or edit notifications after block expiration]] 20 75 3.3 3.2 2 1.57
[[Community Wishlist Survey 2022/Wikidata/Autosuggest linking Wikidata item after creating an article|Autosuggest linking Wikidata item after creating an article]] 12 92 3.3 3.8 2 1.53
[[Community Wishlist Survey 2022/Mobile and apps/Full page editing|Full page editing]] 30 67 2.0 3.7 1 1.42
[[Community Wishlist Survey 2022/Miscellaneous/Allow filtering of WhatLinksHere to remove links from templates|Allow filtering of WhatLinksHere to remove links from templates]] 6 106 5.0 3.3 2 1.40
[[Community Wishlist Survey 2022/Citations/Automatic duplicate citation finder|Automatic duplicate citation finder]] 6 106 3.0 4.2 1 1.36
[[Community Wishlist Survey 2022/Editing/VisualEditor should use human-like names for references|VisualEditor should use human-like names for references]] 22 74 3.3 4.0 1 1.12

In addition, if you are interested in viewing a more granular version of the sub-components that make the prioritization scores, we've made the individual sub-components public:

These are proposals which we found will be worked on by other teams at the WMF or third-party open source when we went through the process of estimating their complexities:

Tasks for other Product teams
Wish Popularity Rank
[[Community Wishlist Survey 2022/Anti-harassment/Deal with Google Chrome User-Agent deprecation|Deal with Google Chrome User-Agent deprecation]] 15
[[Community Wishlist Survey 2022/Mobile and apps/Show editnotices on mobile|Show editnotices on mobile]] 15
[[Community Wishlist Survey 2022/Mobile and apps/Categories in mobile app|Categories in mobile app]] 18
[[Community Wishlist Survey 2022/Multimedia and Commons/Mass uploader|Mass uploader]] 28

Helpful Terminology

Unmoderated user research

Using a tool like UserTesting.com to run “mocks” of our proposed design changes and see if we are designing the right wish solution-- it’s called “unmoderated” because we let users click around and see our designs makes sense without having to explain it to them

Quantitative data collection

The process of collecting data to understand how users are interacting with the current UI to understand the wish’s pain points -- be it data regarding clicks, visits, downloads, sessions etc. Data is often limited when we first tackle a wish due to lack of tracking it prior to wish, or nonexistent data due to privacy reasons

Qualitative data collection

Understanding the wish’s problem space by talking directly to users, be it interviews or via a survey at the beginning of the wish to understand the pain points and clarify how to tackle a solution

“Sourcing” users

The process of finding users who have the knowledge required to participate in our user tests and give us the information we need to understand if our design and product decisions are headed in the right direction. Some wishes are for advanced users, which are hard to source and not available in tools like UserTesting.com

Code refactoring

The process of making the existing code more maintainable so that other people may contribute to the code, as well as removing technical debt and bugs.

Database schema changes

The alteration to a collection of logical structures of all or part of a relational database. When a change to an existing database is needed, it must be designed and then approved by a team external to CommTech. This usually takes more time and adds structural complexity to the project.

Third party code

Code written outside of the Community Tech team, examples include APIs or libraries.