We sometimes get questions like "What criteria should I consider for X" (which are off-topic).
Also, we often get questions with not enough criteria (even though they comply with the general rule) because askers are newcomers to the field and are not too sure what criteria they should look for.
As we gather experience on this, I think we should maintain a list of criteria for each general type of software. It might be too hard or too ambitious, but let's try.
Do you need need static reports (for instance PDF files), or dynamic reporting with drill-down, or semi-dynamic reporting with dashbaords and filtering?
Who will design new reports? BI specialists, programmers, system administrators, people with some computer knowledge, people with no computer knowledge?
What database are you using? Is it compatible with SQL?
Document management/ECM software
How do you want to access the system? Via CIFS, CMIS, Web?
If you need a Web UI, do you need commenting/liking documents, instant preview without downloading, Single-Sign-On with an existing user database?
Do you need document versionning, ACLs, workflows, full-text search?
What kind of documents do you want to manage? Physical dead-tree paper, scanned papers, files generated by an office suite like Microsoft Office, other? Are you a media company handling mostly videos or images? Are you an engineering company handling mostly CAD files generated by professional design software?
Are you OK with information being stored on a third-party cloud server?
Do you need to integrate with any hardware, for instance scanners, bar-code readers, tape storage?
Do you need to integrate with any software, for instance ERP, PLM, CRM?
Enterprise Service Bus
What systems do you want to integrate? (list them all)
What protocols do you need? (list them all)
Do you need a graphical user interface for configuration?
Do you want to be able to customize code? If yes, any preference for the language (Java etc)?
Should it be usable offline?
In what language do you want the map labels to show?
Device specific apps
Should it be able to run on non-jailbroken/non-rooted devices?
Should it have an export feature so that you can get your data out of the service?
In what programming language are you writing the code that will call the library?
Should it be freely redistributable? Or are you OK with paying royalties for embedding the library into your software?