Before diving into this post let me tl;dr: Fostering good communication with new users.
So I asked around on #drupal-contribute to see if there was a guide for helping and guiding users who want to help out with Drupal. There does not appear to be one so here is an attempt to make one. The goal of this discussion is to create an outline which will then get folded into the Drupal documentation for mentoring users. Lets play out a scenario to show where guidelines could help.
A user comes into the irc channel and states they want to help with a project and asks "Where should I start?"
Now it is up to the community to respond. Here is what I have come up with so far:
I start off by asking:
* Have you contributed to Drupal before?
* Have you ever contributed to an Open Source project before?
The goal being to start to gauge what the user's understand of Drupal is and to some extent their overall technical ability.
-
What got you interesting in contributing to <group/project name here>?
See if their reasoning makes sense. The user could think "contributing" and the reality is they just want to file an issue or point out an interesting HowTo they found via google. Get the user talking about what their ideas for Drupal are. -
Have you ever filed a bug/issue report before?
- Do you have a Drupal.org account?
- Did you read the documentation? (I usually provide links to the documentation when I ask this.)
These questions are designed to see how much initiative the user has already taken to help out. This can also lead to getting responses like: 'The documentation is too long (tl;dr)', 'I just want to get started.', 'No I did not read the links you just gave me.'
Some users have the tendency to just start doing stuff. 'I just updated these five issues.', 'I reviewed this and it is understandable', 'I think we should do it this way.' While the enthusiasm is great we need to check to make sure their contributions are following the overarching drupal guidelines otherwise it could impact other people's work. This leads into what I consider three very important points, one of which was briefly mentioned:
- What is he user's level of technical ability?
- Do you feel the user is communicating their ideas properly?
- Is the user a non-native English speaker?
In terms of technical ability not all users are created equal. We the community should not be pushing projects and ideas onto users who are not ready for it. I have seen users walk away because the barrier to entry is too high.
Communication is always key. If you do not understand what they are saying rephrase the question, ask for more details, make sure you are both using the same terminology, etc...
Native speakers take for granted how their language can be confusing for others. This always leads to frustration on one or both sides of the conversation.
There are just some of the ideas for solving communication problems. Some companies have "scripts" for employees to follow on how to deal with users. This is a cross between that and the idea of conducting a job interview for potential contributors.
Feel free to contribution different questions, scenarios, and ideas to this discussion.