Good questions are a stimulus and a gift. Good questions help us develop our understanding, and often reveal problems we might not have noticed or thought about.
This step-by-step procedure for asking good questions and giving helpful answers is an adaptation of How To Ask Questions The Smart Way.
Define the problem.
Try to solve the problem.
Read the manual. Read the FAQ. Search the archives of the forum where you might ask for help. Search the Web. Ask a skilled friend. “Take your time. Do not expect to be able to solve a complicated problem with a few seconds of Googling.”
Ask for help.
When asking for help, clearly communicate the original problem, and how your attempted solutions failed. Display what you have learned in trying to solve the problem. If you are posting to a public forum, read through some archived messages to get a sense of the forum. Use meaningful and specific subject headers. If you are asking a new question, change the subject of the conversation to reflect the new question. This will facilitate future searches of the archive. Send plain text mail, with line lengths of at most 80 characters. Never send closed proprietary formats like Microsoft Word or Excel. Provide a reliable way to reproduce the problem. Describe the problem symptoms chronologically, not your hunches as to what causes the problem. Don’t ask yes-or-no questions unless you want a yes-or-no answer. Be explicit about your question. Focus your respondent’s effort and put a bound on the time and energy necessary to help you.
If you get a helpful response, give thanks.
Follow up with a brief note on the solution. Modify the subject of the mail to be “Subject - FIXED”. Say what action solved the problem, do not repeat the problem’s history. Name those who helped. Mention blind alleys at the end of the message to inform those who might be curious.
If you don’t get the response you were hoping for, don’t react like a loser. When someone let’s you know you’ve asked a stupid question, he is acting out of concern for you and his community. “If you can’t manage to be grateful, at least have a little dignity, don’t whine, and don’t expect to be treated like a fragile doll just because you’re a newcomer with a theatrically hypersensitive soul and delusions of entitlement.” If you didn’t get an answer, don’t repost your question instead consider paying for support.
“Be gentle. Problem-related stress can make people seem rude or stupid.” Ask probing questions to elicit more details. “If you’re going to answer the question at all, give good value. Don’t suggest kludgy workarounds when somebody is using the wrong tool or approach. Suggest good tools. Reframe the question. Help your community learn from the question. Improve the documentation and FAQ so nobody has to answer this question again. Describe how you arrived at your solution, teach a man to fish.