While this won’t fit the mold for every SMB (small and medium business) out there, it will still give others an idea of what should be considered. This will assume the SMB wants to expand in the future.
Most SMBs do not want to stay in that classification forever. If the company knows their end goal in this regard early they should also be able to plan into the future in terms of software use like security applications (AV, IDS/IPS, etc…). Should you be expecting your company to go beyond the 5-50 employee mark (or however you deem a SMB) then knowing that the software is able to handle both a small, as well as enterprise business should be part of the concern.
2. Ease of Use
Software should be easy to use from the time you look at the pretty packaging or install file until its time to uninstall it for good. This is one area where a lot of vendors make their critical mistake, however.
If you need to write documentation on how to do everything then you’re doing something wrong. Documentation should be there for clarification, not how to use the software itself.
3. Easy Authentication
Typically there’s going to be some level of authentication whether directly (program requiring username and password) or indirectly (logging into the system to use). If the program does require the use of its own login system it usually makes more sense to tie it into the system itself as well. SSH is a prime example of this. It prompts the user for the username and password (or whatnot), but authenticates the user based on the system itself.
4. Automated Updates
No one likes having to remember to update anything, especially when its supposed to be set it and forget it. Automatically updating a program can pose issues in itself, however, most people don’t consider it until its too late. The convienence of not having to remember to hit the update button or run the script makes their life much easier, which is what you want the end result to be.