There are literally thousands(probably a lot more) of software development companies out there. Now you have decided to invest in a particular software requirement, and you have decided that off-the-shelf software doesn’t fit in with your requirements. You need something custom, something tailored to your specific needs. So how do you decide which company you should work with?
Here’s how to begin
Google search. But don’t limit your search to just top software development companies. Any company that invests in SEO can reach the first two pages of Google search results, but that doesn’t always guarantee good results. It just means they have a good digital marketing team. But of course, don’t ignore the results either.
And in your search results, you’ll find a lot of pages that offer ratings for software companies. Rather than making a decision based on these ratings, these pages give you a good perspective of the different companies. Some of them have reviews from clients, and that should offer you a good look at the companies.
This should give you a list to work with. Maybe a much larger list than you’d like, but you have a list.
Experience in software development
The next step is to see which all companies have experience with the technology you want to work with or the type of product you’re trying to develop. This won’t matter much if you just want a simple website, because almost all the companies are capable of that. But if you’re looking to develop an IoT product, you want a company that has worked on similar projects.
It may also be a wise move to check out the qualifications of the team itself.
Next step: get in touch with the company(obviously)
It may look like I may have missed a step here, that is considering the budget. Or even deciding what you actually want and coming up with a requirement sheet. Preparing a requirement sheet, or fixing a budget before you meet a company has its good points, particularly if you have worked on similar projects. The discussions can go straight to the project cost, delivery timeline, etc.
Understand the software development process.
But before you have the conversation about the actual project, learn more about their process, about their project management style. Discussions about the past projects and their delivery timeline will help you gauge their performance much more easily. Discuss their project management style (Agile, Waterfall, etc)
Communication tools used by the team
Communication is a very important element during the entire software development process. It is important that the team understands your requirements and concerns and addresses them. Talk about the communication tools they use, how often they have meetings, etc. Talking to the team will also help you assess their communication skills.
Discussing the project
If you haven’t worked on similar projects before, it’s better to just decide on some rough sketches, in terms of budget and requirements first. Then speak to the experts at the company, and there’s a good chance they’ll have some thoughts on how to go about building the product, or the features you may need. Of course, such consultations may be billable, but not always.
This process can happen even after you have decided on a software company. Consider it more of a product evolution rather than building a product. It may be a good idea to work on a proof of concept, a prototype first. In some cases, a wireframe of the final product will also work before you invest in PoC or prototype. With a prototype, you can see how your initial idea looks like and what all can be improved.
What happens after the project?
It is important to discuss the support offered by the company after the project. Discuss the additional maintenance cost. If there are any issues with the software, discuss the terms of resolving it; for how many months after delivery, they’ll provide support for no extra cost, as well as the terms for support after that period.
Discuss if the company can provide training to your employees to make the best use of the app. This includes not just group training, but also developing the user manuals, training videos, and more.
Discussing the budget
This is probably the tricky part. Obviously, as someone who is spending the money, you want to get the most out of it. And you have set aside a certain budget for the project. Even if you don’t have an exact amount in your mind, you have a ballpark figure. But also, you get what you pay for. Once you have all your requirements for the prototype stage, the company will present a proposal, detailing the costs.
It is important to discuss the costs in case the project exceeds the exceeded timeline. Even with perfect planning, at some stage of the development, you may realize you need to make some changes to the product, and this will take additional time.
Of course, not everything comes exactly as you imagined when it comes to the project budget. It could fit very well within what you had in your mind, it could also vastly exceed it. Of course, you can approach other companies, but odds are that for a given project, the estimated cost will be the same. Unless of course the companies are located in different geographical locations where the cost of living is different.