I can give you some SW selection guidelines that I find are very important in a long run:
o) Make a long term decision. Look not only for the features that you need today. The flexibility of the SW is very important because switching to a new tool is not only time-consuming but also psychologically uncomfortable. And flexibility means that the tool provides you with a common functions. The language must be powerful enough to implement any trading system.
o) Don't try to get SW that is perfect in real-time trading and for end of day data. It doesn't exist (TS is not good as EOD backtesting tool). Unfortunately it's necessary to accept that for EOD and real-time needs different tools must be used
o) The SW must be able to generate backtested equity curve and basic trading statistics from multiple trading systems on multiple markets
o) The SW must be powerful enough in the area of position sizing, e.g. it must be able to implement position sizing based on time varying risk of a total portfolio
o) Don't underestimate built in access to quality data sources. May be connection to Bloomberg terminal is too expensive at the moment, but if you are successful, you will come to it