What are the most important factors when choosing a software development vendor for a startup? originally appeared on Quora: the place to gain and share knowledge, empowering people to learn from others and better understand the world.
Always take your time to see their portfolio. Apart from the visual side, notice what technologies does the company use, what industries do they work with and what is their client focus (small businesses, midmarket, enterprises). One of the things that may help you trust the company is the awarness that they have some experience in projects similar to yours.
It is also important to know that your previous clients were satisfied with working with them – considering both the results of this work and the process itself. Always check who are the authors of the presented reviews! (Hint: John Doe is not a very reliable person.)
It may be a good idea to go outside the website of a chosen company and to look for some reviews at Clutch or even LinkedIn. Deep reviews focusing on many layers of the project are especially noteworthy.
That’s probably one of most obvious things to check. If the company is working mainly in Ruby on Rails, they may not be the perfect team for your Java project.
4. Project management methodology
In the perfect scenario, an outsourcing company can work both Agile (if you want to be able to apply some changes during the project) or Waterfall (when you know for sure, that there won’t be any change). It should be alarming if the company is not elastic enough to adjust to your needs.
It would be nice if you could see their code before making the decision. Can they show you any code samples? Maybe they have some open-source projects?
Also, ask how many people do they have in their team (at different seniority levels – if there are 50 juniors but only 5 mids and only one senior developer, they may not have the required experience yet.
Actually, it’s hard to check before you start working with any company. However, there are some questions you may ask to check their approach. Will you have access to any instant messenger to talk to your team (Slack, Rocket.Chat, etc.)? And what about some project management tool (eg. JIRA, Taiga)? How often are you going to have calls with the team? These are definitely the things to be put on your checklist!
7. Project files
What project files will be able to access during the project? In Neoteric, we give our clients constant access to the source code (Gitlab, Github), burndown charts, CI/CD to deploy your app, time reports, staging and production environment – all these help them keep the control over your project and stay up-to-date with what’s going on. When choosing an outsourcing company to work with, check it. Avoid companies who are not willing to share these project files.
8. Time zone difference
Make sure that the time zone difference is “acceptable” (meaning: that you will be able to contact your team if needed, without a need to get up at 4 am or to stay in your office until the late night hours). It will significanlty affect your communication flow during the project!
9. Estimated cost of a project
As you probably operate within some set budget, this seems to be a very important factor. Note that the price you will get at different companies may differ a lot. If you want to learn what should an estimate include, I recommend you reading this article: Price estimate for web and mobile applications.
10. Estimated time of a project
You know what they say – time is money. If the estimated cost of making an app is relatively low but the estimated time is very long, it is worth considering to work with a bit more expensive company that will be able to deliver your product faster. On the other hand, the promises to build the web or mobile applications in 2 weeks are also quite doubtful.