So you have decided to outsource your software development and you managed to find companies you are considering to be a good fit for it. Now, you are probably wondering how to pick the best one of them and how to avoid misunderstandings and disappointment. Well, it is as simple as just asking them. Here’s a list of questions that will help you start the conversation before project kickoff. The answers received will help you get to know your potential partner better.
- Do you have experience with this type of projects?
- What is your technology stack?
- What does the development process look like?
- What tools do you use to communicate?
- What is my role in this project?
- Do you have any testimonials from previous clients?
- How many people will be on my team and much time would you need to scale it up?
- What is the estimated length of the project?
- Why should I choose you?
- What if I’m not satisfied?
1. Do you have experience with this type of projects?
When sifting through vendors, you should definitely look for outsourcing partners that have experience in projects similar to yours, whether it is industry-specific or feature-wise.
Going through their portfolio will give you the opportunity to see the product the team had worked on, test features and possible solutions. If the company has experience in your industry, the team will have a better understanding of your product and be better at solving problems during the development.
It is also worth finding out whether the company had previously worked with startups or big enterprises as their procedures and needs differ - each requires a slightly different approach.
2. What is your technology stack?
It is quite obvious that before starting the development you should know which technologies they specialize in. Good knowledge of technology means fewer problems during development.
If you have already started your development, you will look for partners that are specialists within this technology. However, if you are indecisive about the best technology for your project, the answer to this question should help you make a final decision.
Take a look at the vendor’s website, it should also provide you with information about the technology stack, expertise and their flexibility to adapt to new solutions. You can also go deeper and ask about how they ensure the software quality, what are their best practices, how they deal with documentation.
3. What does the development process look like?
Need to understand how the process is organized. Do they follow scrum? Do they have daily team meetings? Or maybe weekly ones? This all will have an influence on your collaboration.
Next, learn how the developers work, how they divide tasks, what steps are involved in the development process, how much time do they spend on designing, creating, implementing etc. Here you can also ask about the details like working hours, the number of employees or their unique hiring process.
4. What tools do you use to communicate?
Communication is the key to any successful project. Ask how often will you communicate with the team and what tools will you use. Are they using Slack for instant messaging? Google Hangouts for video conferences? Jira or Trello as project management boards? Do not be afraid to introduce solutions you are familiar with and decide on the best fitting one.
Try to avoid communicating through a third person, especially one that is not directly involved in the project. Talking directly with your team will avoid many misunderstandings and you will be better informed about the progress and state of your project. Most importantly: keep it simple!
5. What is my role in this project?
Even as a non-technical client, you can be involved in the development process or at least some parts of it. Discuss their view on your involvement and find a common ground you are both comfortable with.
By being involved you will be able to see progress and make changes if needed while the product is still being developed. As mentioned earlier - a direct contact with the team is essential.
6. Do you have any testimonials from previous clients?
Go through testimonials they have on their website. If you know the team members you can visit their personal LinkedIn profiles, GitHubs etc. You can also try contacting some of their clients directly to ask for more details on their collaboration and recommendation.
7. How many people will be on my team and much time would you need to scale it up?
You should know how many people are in the team you are considering and be informed on much time your outsourcing partner needs to expand your velocity. This will help you act accordingly and timely submit your request for developers.
When discussing project staffing you can also ask if the developers assigned to your project will remain the same throughout the entire development process or not. Teams that are located within the same office work best together, so here the location is also important.
8. What is the estimated length of the project?
Asking for estimation is very popular in the outsourcing world. It will inform you about the expected project length and the overall costs.
One company may be able to deliver your product faster but for a slightly higher price, so in this case, it might be better to pay more and get the results quicker.
However, always remember that a higher price does not necessarily mean a better development so it is crucial to thoroughly research the candidates.
9. Why should I choose you?
This is a great question to ask the team to let them introduce themselves the way they want to be introduced. Not everything will be specified on their website. Not every outsourcing company talks about its internal organization and other non-development related aspects.
However, the fact that the developers enjoy each other’s company or various types of sport can tell you a lot about your future relations and partnership. The best proof of a healthy atmosphere is how long employees stay within the company. At Selleo, an average co-worker stays with us for nearly 4 years!
10. What if I’m not satisfied?
This is a rather uncomfortable question, but very important at the same time. You should know how to express dissatisfaction and what can be done to avoid or resolve it if needed.
Your potential outsourcing partner should specify how they ensure the highest quality of their solutions or even offer a satisfaction guarantee. Be sure that you know what steps you need to take if something goes wrong.
We hope that this list of questions will help you get more information about the service providers of your choice. If you would like to get more information on software development visit our blog.
And if you are looking for a software development partner, check out our team.