How to choose a development software provider