TABLE OF CONTENTS
Overview
Your Stack Overflow Internal knowledgebase is built on questions, specifically questions that are written well and answered accurately. In this article, we'll explore what it takes to write a question that is clear, focused, and compelling. Such a question is more likely to be answered by your community, bringing a solution to you and value to other users.
We use the generic word "community" in this article, not to be confused with Stack Overflow Internal's Communities feature.
Search first
Before you begin writing a question, make sure it hasn't already been answered on your own site or the public Stack Overflow site (www.stackoverflow.com).
If your question is new, or differs significantly from related questions, write and submit your question. If you find similar questions but they don't answer your question, include links to them in your question and explain what you found, what you tried, and why those answers didn't solve your question.
This will help others understand how your question differs from what's already been posted.
Write a great question
With millions of Stack Overflow questions written and answered, we've observed many best practices for writing an effective question. Follow these guidelines to write a question that gets answers and brings value to your site.
Summarize the problem in the title
Your question's title is the first thing users see, and an interesting title increases the chances they'll read the rest. Here are some hints for writing an interesting title.
- Try to summarize your question in one sentence. What details can you (briefly) include that will help someone identify and solve your problem? Details to consider: error messages, APIs, problematic software libraries, unusual circumstances.
- Check your title for spelling, grammar, and punctuation errors.
- If you're having trouble coming up with a clear, concise title, write it last. Sometimes writing the rest of the question first can make it easier to summarize the problem.
Explain the problem
Expand on the summary in your title. Explain your question clearly. Include:
- What you expected to happen.
- What actually happened.
- Any relevant background or context.
- Error messages, screenshots, or other supporting details that help explain your question.
Be specific
Give contributors the details and context they need to understand your question. Include enough information to explain the problem without adding unnecessary detail.
Watch out for subjective questions
To prevent users from flagging or even removing your question, it's best to avoid asking subjective questions. You should only ask practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page.
Subjective question types to avoid:
| Subjective Question Type | Example |
|---|---|
| Every answer equally valid. | "What's your favorite _________?" |
| Answer included in question, more answers solicited. | "I use _________ for _________. What do you use?" |
| No actual problem to solve. | "I'm curious if other people feel like I do." |
| Open-ended, hypothetical. | "What if ___________ happened?" |
| Rant in disguise. | "___________ is lame, am I right?" |
Not all subjective questions should be avoided. A constructive subjective question:
- Asks for explanations of "why" or "how."
- Invites detailed answers rather than one-line opinions.
- Has a fair, impartial tone.
- Encourages contributors to support opinions with facts or references.
- Addresses a real challenge rather than casual discussion.
For more guidance, see What types of questions should I avoid asking?
Include all relevant tags
Tags are important for organizing questions and making them easier to locate. Include as many tags as are relevant to your question. If your question involves technology, include a tag for the relevant language, library, API, etc. As you type in the tags field, Stack Overflow Internal will suggest tags that match what you've typed. Read the tag descriptions before accepting the suggestions to make sure they're relevant to the question you're asking. Learn more about using tags.
Help others reproduce the problem
If your question pertains to programming, include the problematic sections of the code you've written. Do not copy in your entire program. Include just enough code to allow others to reproduce the problem.
Proofread before posting
Before posting your question, read it through from start to finish. Imagine you're another user reading it for the first time. Does it make sense? Is it clear and concise? Would the question benefit from more information, or less? If your question pertains to programming, follow your own instructions and try to reproduce the problem in a fresh environment. Correct mistakes, condense wordy text, add missing information, and read through it again. Before you post, check one last time to make sure that your title still effectively summarizes the problem.
Meet quality standards
You may encounter this automated message from your site when posting a question: "This post does not meet our quality standards."
To make sure your question meets the site's minimum quality standards, check that it includes:
- A clear, descriptive title.
- A clear explanation of your question.
- Enough details and context for contributors to understand your question.
- What you tried before asking your question.
- Correct use of spelling and grammar.
If your question includes these elements and your site still blocks your question, reach out to your site administrator or moderator.
For more information, see Why doesn't my question meet quality standards?
After you've posted your question
Writing a good question is the beginning of the Q&A process, not the end. Here's what to do after you've posted your question.
Respond to feedback
After you post, other users may comment on your question with suggestions for how to improve it. If you missed an important piece of information, be ready to respond by editing your question to include it. If someone posts an answer, read it to see if it adequately answers your question. If you need more information, use a comment to provide feedback to the answer writer.
As the author, you will also receive notifications for all new activity (such as comments or answers) on your question. These notifications will appear on your For You page, but you can also receive notifications via email. Learn more about communication settings.
Accept an answer
One of the most important parts of asking a question is to accept the answer that best addresses your question. Not only does this give the writer of the answer a reputation boost, but it also gives a clear indication that your question was answered (and your problem solved). Stack Overflow Internal will pin the accepted answer to the top of the answers list and mark it with a green check.
Stack Overflow Internal will also mark questions with an accepted answer in question lists. This gives users a quick way to identify answered—and unanswered—questions.
Help your question get answered
Not all questions receive an answer right away. Review your question and look for ways to improve it.
Consider adding:
- More details or context.
- The results of any additional research or troubleshooting.
- Updates on what you've tried since you first posted.
Updating your question moves it back to the homepage and may encourage more contributors to answer it.
If you still feel your question isn't getting a good answer, you can help by offering a bounty on any question more than two days old.
Additional resources
For more guidance on asking questions, see:
- How do I ask a good question?
- What types of questions should I avoid asking?
- Why doesn't my question meet quality standards?
- What should I do if no one answers my question?
You may also find these external resources helpful:
- Writing the perfect programming question
- How do I ask and answer homework questions?
- How to debug small programs
- Meta discussions on asking questions
- How to ask questions the smart way (long post, but valuable advice)
Add questions with the API
You can use the Stack Overflow Internal API /questions endpoint to add questions on your site. For more information on the API, check out our API v3 for Stack Internal Basic and Business and API v3 for Stack Internal Enterprise articles.