It's 2014. There are cheap web-based options. Web-based offers security, versatility, and allows for greater growth.
Be easy to use.
Your staff and yourself should not be continually confused about using the software. On average, your employees should be able to learn the software within a week. Anything more means the software is needlessly complex.
Work with Mac, Windows, Android, Linux, etc.
Take advantage of today's devices with a software that allows cross-platform use. Don't get forced into purchasing inferior hardware because of old software.
Be able to work completely paperlessly.
Your software should create digital work orders, invoices, and service invoices. It should also be able to send completed invoices and work orders via email--automatically.
Update in real-time.
Real-time data allows simultaneous collaboration. This is a fancy way of saying that your entire company should be able to work on the software at the same time and instantly see updates from other employees.
Have a flat fee structure.
Getting charged for every different feature or module within a software is like paying twice for its use. However you pay for your software, find one that does not charge for features but instead charges one flat fee. This allows you to use whatever parts of the software you need without fear of a price hike.
Offer free support.
Charging for technical or customer support is ridiculous. Avoid software that charges for support or training.
Offer free updates and upgrades.
Just like number 7. Pay once, get a complete software, including future features and updates.
Your software should be smart enough to schedule recurring services without you. You should be able to tell it what to do once, and have it keep doing it until you say stop.
Have advanced reporting.
Your software should answer the following: 'Who are your most valuable customers? Where do they live? Which products are most effective? Which techs are most efficient? Which marketing method is the best? What area of the city pays their bills late?'
Manage salespeople, sales teams, and sales data.
Your software should encourage sales growth by identifying good sales methods, areas, and people.
If you software does not do these things, consider an upgrade.