In our practice, we often encounter customers who come to us with ready-made projects, for which they paid thousands of dollars already, but which still don't work as intended. Such projects come in an idle state, so first we have to clean up the existing code, and then expand the functionality if required. Some of them are easier to tear down than to finish.
We understand that it's not straightforward to hire software developers if you have never had to deal with something like this before. Therefore, we prepared 5 questions to ask app development company on which you can evaluate the level of your potential contractor.
Of course, the listed questions are not mandatory specifically for your case. The material is not so much about the development of the site or software, but about the ways to assess the level of developers and how to hire an app development company best suited for your project.
Where will you start if you don't have friends who would recommend you an excellent company with whom they have already worked successfully? The Internet, of course.
On the Internet, you will find many bright promises from outsourcing software development companies ready to conquer you with their flexibility and talent. And yet you will have to google to choose one. There will be a lot of extra results, so narrow the search like "best software development company in Spain". First, you need to filter out companies that do not categorically suit you, and carefully examine the selected ones.
Check out the company website. In the online world, when you first see a site you pay attention to design, and later you judge it by its content. Is a menu convenient on the site? How quickly can you find what interests you? Check out the About Us page. Does the company declare itself as the best of the best, or in detail and thoroughly talk about its work? If it's fine with you, move on to the reputation.
Customer feedback on the site is, of course, wonderful. But where are the guarantees that these reviews are from real people, and not a fiction of copywriters? Noteworthy companies have profiles on legitimate sources like Clutch, Top App Creators, Top Developers who check reviews for authenticity.
And now, as you have selected some of the most interesting companies, start talking to them. As per our practice here are valuable questions to ask software developers before doing business with them.
What field do you specialize in?
There are so many software development companies that define their specialization just by programming language they use. Java or Node.js or Ruby don't tell you anything about what they can do and won't help find a software developer who won't let you down. But the types of projects that the company worked on will say enough. Be sure to clarify whether there are cases like yours, ask what problems arose, how they were solved.
Software developers specializing in your domain is a real catch. For example, an offshore software development company that has developed dozens of sites and various software for real estate knows this area, and most likely the cooperation will proceed smoothly. They understand you completely and know almost all the pitfalls that may appear during development.
You also can learn a lot from the company portfolio before the meeting. If there is no such case like yours you may ask for some recommendations of customers who didn't want to show their project at the portfolio of software vendors. Ask these clients about how the team performed from a project management standpoint, what they think the company can improve, did the project meet their expectations. If the company for some strange reason doesn't want to provide you with contacts of previous clients it is a red flag.
Who will work on my project?
IT projects of various industries, such as e-learning, healthcare, real estate require different approaches. But each has a common feature - a team that will work on the project consists of not only programmers. If you are convinced otherwise, beware. And here is why.
In the outsourcing companies worthy of attention, a business analyst works at the initial stage, perhaps even before signing a software development contract. He studies your requirements and goals, finds out what you need, then analyzes how the product should look and what functions it should have. Also, a business analyst will identify competitors in the market to ensure the stability of the product, study the target audience, participate in the writing of the technical task, if it was not provided.
When all your requirements are identified in the work, the project manager is connected. He distributes tasks between programmers, coordinates common activities and controls the process.
Front-end developers and UI/UX designers are responsible for the visual part of the product. From these guys it will depend on whether it's convenient to use the interface of your product, and whether the application or site will look the same in all browsers and platforms.
A plane can be very beautiful, but without an engine, it is a pile of scrap metal, beautiful, but still useless. The engine of your product - the kernel, as well as the entire program logic will be created by backend programmers.
Next, QA engineers are engaged to check whether your product is working correctly.
As you can see, your project is a result of teamwork.
How I will monitor the process?
The sad truth of IT is that you can not control a team of software developers if you are not a programmer. Fortunately, technology has made this process easier. One of the main and necessary app development questions is how the company is going to update you about the process.
A respectable company will provide you with everything you need to make the development process transparent. Many companies use virtual boards with tasks and you will have access to it. You will have frequent releases that show you the behavior of the system and allow you to respond on time if something goes wrong and not as you expected. You will see what has been done by a particular developer for a certain time. You can also plan live communication with the team to be aware of what problems have arisen and what are the options for solving them.
Do you enter into a Non-Disclosure Agreement?
Today, information confidentiality issues are sanctum sanctorum for IT companies that create valuable software products and technical solutions. Put simply, it will be frustrating if someone illegally takes possession of the drawings of teleport or of something similar to it that you invented. Of course, during the development you will cooperate with some specialists. Before you describe your ideas to software vendors, ask them whether they sign an NDA with their employees to keep the information secret and also take all measures so that it does not go on the side through the employees in the future.
What happens when the project is done
Once launched, your project will grow and change, which means there is still a lot of work ahead. Post-launch support is different from development. If within the framework of product development, all tasks are complex with deadlines, then the post-launch tasks arise at a random moment and have smaller volumes.
Therefore, during the negotiations inquire what kinds of post-launch support and maintenance your software vendor provides. Of course, you can transfer it in support to another company. But you will agree, the best option would be to entrust the post-launch support to the team that developed the product and knows it from A to Z.
The future of your app will depend on the expertise of the team that will build it. Therefore, at the acquaintance stage, it is necessary to understand whether the contractor can communicate with you in your language, whether the contractor can explain complex terms and describe complex processes or acts on the principle that the main thing is to sell, whether the company has the whole development process transparent or withholds some information. And to ensure you make smart choice - ask the right questions.