When you decide to outsource the development of a software product towards an outsourcing company it’s important to get off on the right foot. This means that your requirements and expectations (look and feel of the software) need to be conveyed as clearly as possible to the outsourcing team.
So (in case you decide that outsourcing is the way to go, for you and your company) before starting the lookout for companies that provide software outsourcing services, you need to ask yourself the following questions:
1. What type of software application do you want to build? Mobile, desktop or web?
Of course the answer could include all three options – or just one. For example, you could build a web application that is accessible from both mobile devices and desktop computers.
2. Depending on the answer from question 1: on what platforms should the software work?
For example: if you want to build a mobile application, you should decide if the application needs to be compatible with Android devices or iOS devices, or with both etc.
If you want to create a desktop application, then you need to decide among Windows, Linux, Mac OS X etc., and of course you should target only the most relevant versions. For example, regarding Windows, it may not be a good idea to develop an application for Windows XP 🙂 but you should definitely include in your list Windows 7 and Windows 8. The same thing goes for web applications and browsers – you should decide on what browser (Firefox, IE, Bing etc.) and on what browser versions should the application run.
3. Similarly to the previous question – on what devices should the software run? Tablets, smartphones, PCs, PDAs etc.
4. Now that you know all these, you should think about technologies: HTML, Java, .NET etc. If you didn’t make up your mind regarding the technology to be used for developing your software, you should consider asking for consulting advice from prospective outsourcing companies (as they are more updated on the exisiting technologies, and have a greater experience).
5. Who is the end user?
This should be an easy answer (for example: students, doctors, teachers, companies, etc.), however you should state this right from the start, as it’s an important decision factor.
6. Must have features – you should decide upon a set of mandatory features. Of course, you can’t cover all areas, but no need to worry: the outsourcing company can take care of the rest. So once they have your specifications, it will be their job to come up with a detailed feature set for the application.
7. How should the software look like?
It would be best if you can provide your development partner (the outsourcing company) with an example, such as a similar website or application, from the targeted niche.
Tip: think of the big players on your market niche, meaning your future main competitors.
Now, that you have all these answers, it’s best to put them together in a list of specifications which you can pass to the prospective outsourcing companies. This way, you’ll save a lot of time (writing emails, talking on the phone), and you’ll make sure that your ideas will not get lost (and that the end software product will match your criteria).
Even if you have an “in progress” application for which you’d like to outsource the development, it’s equally important to have all these questions answered.