This is a community wiki answer, feel free to improve it.
A. Choosing tags
What is the genre and pricing of the software you are looking for? In what environment will it be used?
Tags help the right people find and answer your question.
Identify your tags by completing the sentence, “My question is about…”
For example:
✔ music-composing gratis macos
✔ websocket library open-source c++
B. Writing the question title
What’s your question title?
Your title helps people quickly understand what your question is about so they can answer it.
Include your most specific requirements, long titles are OK.
For example:
✔ Open source screen-recording GIF recorder for Mac OS X
✗ I need a screen recorder
✔ Free Java library to perform offline Greek speech recognition
✗ Alternative to GrSpx2000
C. Writing the question body
While most questions on our site are in the context/environment/requirements/price
order, for new users the requirements/environment/price/context
order will lead to better questions. Letting new users start with the context would be a sure way to lose all structure ("I have already written everything in the context so I can leave the requirements section empty").
Tell us more about your question
Your description gives people the information they need to help you answer your question.
Want more help? Check out these examples of great question descriptions: Example 1, Example 2
Guided mode
1. List all of your requirements
Include all features that the software must have, as a bullet list.
✔ - Must be able to split Excel 2016 files by sheet
- Must be able to process all Excel files in a folder
- Must have a graphical user interface with a progress bar
✗ I want to split Excel files.
✗ Like SpEx2000.
2. What environment should the software be able to run in?
Operating systems, or programming language if you are looking for a library.
✔ Windows
✔ Online (SaaS)
✔ Either Linux or macOS or Android or VMS
✗ Any OS is fine
3. Budget, license
Indicate the kind of contract you are ready to accept.
✔ Gratis
✔ Open source (GNU GPL license or equivalent)
✔ Either a flat fee of maximum 100 EUR, or 10 EUR maximum per month, or 0.1 EUR per request
✗ Cheap
4. Context
Help us understand why you need the software.
✔ I am a civil engineer and I need to perform simulations before building a bridge.
5. Non-solutions (optional)
If you have tried some software and it did not fit your requirements, please say why.
✔ GrEx2000 is not a valid answer because it does not run on Linux.
D. Reviewing before posting
Review your question
Almost there! Let’s give your question one more look. And don’t worry—you can edit your question after it’s posted, too.
Check for typos, slang, and ambiguous terms.
For example:
✔ The software must be able to read SAP Advantage Database Server definitions from .CDX (Compound inDeX) files
✗ The software must be able to read Advantage definitions from .CDX files