Page MenuHomePhabricator

Fix the "what to work on" recommendation system for volunteer developers
Closed, ResolvedPublic

Description

Session at the Hackathon 2018, follow up session to T183318 (Growing the MediaWiki Technical Community, Dev Summit 2018).

Location & time: Sala de projectes, 12 pm.

Session notes: https://etherpad.wikimedia.org/p/Recommendation_system_hackathon2018

Background:

Fixing the recommendation system for tickets on Phabricator that can be picked up by volunteer developers was one of the possible action items that came out of the session Growing the MediaWiki Technical Community at the DevSummit 2018.

Problems with the current system:

  • Scope is often unclear - patch-welcome and even sometimes good first bug can mean everything, from a small hackathon project to a two years effort for an entire team
  • Often the project just doesn't have an owner, and it hasn't been estimated yet
  • Tasks can be technically easy, but e.g. would require conversations with the broader communities
  • Not clear who to get advice from when working on the task
  • Task might be outdated, e.g. another team/person already plans to work on a related project
  • etc.

Session:

In this session we would like to discuss the current task recommendation system for both, newcomers and experienced developers (especially: experiences with working on tickets that are tagged with "easy" or "need-volunteer") and gather ideas for improvement.

We will bring a few examples for the usage of "easy"/"need-volunteer" as well as first ideas for improvement to kick off the discussion.

Bring your experiences, bring your ideas :-)

Session hosts: @WMDE-Fisch, @Bmueller , @Aklapper

Former discussions or initiatives related to the topic of the session: E.g. T146960 (focus is on "easy" tag) , New Developers Initiative ...

Event Timeline

Bmueller created this task.May 14 2018, 2:01 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMay 14 2018, 2:01 PM
Bmueller updated the task description. (Show Details)May 14 2018, 2:18 PM
Aklapper renamed this task from Fix the recommendation system to Fix the "what to work on" recommendation system for volunteer developers.May 14 2018, 2:33 PM
Aklapper updated the task description. (Show Details)
Aklapper awarded a token.
Aklapper added a subscriber: srishakatux.
Bmueller updated the task description. (Show Details)May 14 2018, 3:20 PM
Bmueller updated the task description. (Show Details)May 18 2018, 8:14 AM
Bmueller added subscribers: bd808, Tgr, Addshore.
Bmueller updated the task description. (Show Details)May 19 2018, 5:17 AM
Bmueller updated the task description. (Show Details)May 19 2018, 9:37 AM
greg awarded a token.May 19 2018, 10:13 AM
greg added a subscriber: greg.
Aklapper added a comment.EditedMay 19 2018, 10:57 AM

Approx. 15 people in total attended; we split up in two groups.

Content from the Etherpad doc:

15 people, 2 working groups

Intro (what is the problem, examples, 1-2 ideas for improvement) - 12 min (Birgit, Fisch)

  • About tickets for volunteer developers to pick up, mostly in Phabricator.
  • As part of work, trying to estimate which tickets could be good for volunteers to pick up, example: https://phabricator.wikimedia.org/project/view/3132/
  • We have tags like good first bug and #needs-volunteer but people use them very differently, different interpretations and perspectives.
  • Let's come together and discuss what we think about the system, how we understand it, how we use them, what's missing.
  • Come up with a list of improvements what to try. Can be anything like let's write tickets in a different way. Tags might be more of a symptom.
  • Make sure that this project is maintained and you will get a response.
  • Showing two random examples of usage for good first bug and patch-welcome tags.
  • good first bug: "As a user I want to know when a topic I've created changes title"
    • No starting point, a feature wish
  • patch-welcome: "Fulltext search doesn't work with MSSQL"
    • Reporter specifies problem/bug; someone else added the tag because "we don't really support MSSQL"; maybe a volunteer might come who could help on this.
    • not really clear what the tag should be used for; how and when do we tag stuff? Tag being used as a hotline because "maybe someone is going to find it"?
  • Next: Group activity:
    • What are your experience with the current system?
      • What blocks you, what works well?
      • How do you understand easy/need volunteer?
      • What would you expect from maintainers/paid staff when you want to work on one of these tickets
      • ...
    • What should we improve, and how?
      • ...
    • We do not need to stick with Phabricator here.

Split in working groups (ideally, have different perspectives in one group, e.g. people who recommend tickets, people who are looking for good tickets to work on ...) - 25 min

1. What are your experiences with the current system?
What blocks you, what works well? How to you understand easy/needs volunteer? What would you expect from paid staff when you want to work on one of these tickets? ... (From all perspectives)

  • Experience with good first bug: Somewhere between 2-20% are actually actionable - easy for newcomer but also easy for teams internally for a team [group1]
  • Bugzilla had both Priority and Severity, lowest Priority was "need volunteer" basically. Useful to notify that team won't work on this thing. Categorization problem, not tagging problem, because we have team projects in Phab for that. [group1]
  • good first bug nature unclear / subjective; code work, on off wiki, design work? Easy for some; easy for the person who put the tag there; familiar with the codebase
  • Who is the main contact person, who do you ask? Many user names in thread
  • patch-welcome: Looking for anyone or somebody within the community?
  • Phrase good first bug not "newcomer-friendly" (a term used on GitHub)
  • Language barrier: Cannot get to Phab; Phab is very English-language centric
  • As a developer, no time to write good task descriptions

2. What should we improve, and how?

  • Copy Github: New tag "Good first task"; leave behind good first bug; rename documentation on MediaWiki; Figure out the problem with easy later [group1]
  • Would be useful to know if something / a patch is actually going to be reviewed. Use historical data (wikimedia.biterg.io etc) to give an indicator to the user that 1) good first task and 2) might get reviewed merged so the user will not get disappointed [group1]
  • Tags for tasks that are not in English language
  • GitHub: "help-wanted" tag in combination with other tags; explicit "unassigned" / "mentor" tag
  • remove patch-welcome tag, it is misleading
  • encourage everybody to set contact info on your user home page in Phabricator (especially those setting those tags)
  • tags for required skills, like CSS and JavaScript
  • create a template for good easy tasks so it's not so much up for the individual person
  • way in Phab to mark good first tasks as "draft" but needs better description

Share outcome with the entire group - 10-15 min (see bullet points above under the two sections)

  • To discuss with WMF Developer-Advocacy
  • Potentially have a session only with volunteer developers as a followup
WMDE-Fisch rescinded a token.

Mooeypoo could not attend the session but mentioned afterwards (I hope I quote correctly) that tasks could also be split into

Vvjjkkii renamed this task from Fix the "what to work on" recommendation system for volunteer developers to 6zcaaaaaaa.Jul 1 2018, 1:10 AM
Vvjjkkii triaged this task as High priority.
Vvjjkkii removed Bmueller as the assignee of this task.
Vvjjkkii updated the task description. (Show Details)
Vvjjkkii removed a subscriber: Aklapper.
CommunityTechBot assigned this task to Bmueller.
CommunityTechBot raised the priority of this task from High to Needs Triage.
CommunityTechBot renamed this task from 6zcaaaaaaa to Fix the "what to work on" recommendation system for volunteer developers.
CommunityTechBot added a subscriber: Aklapper.
Bmueller closed this task as Resolved.Dec 15 2018, 8:32 AM