Before you start investing time in researching companies which are doing custom development services, think carefully whether you need such type of help. Do you really need to develop a new application? Have you performed customer development before a new venture? If you decided to make a new app, maybe you could develop it by yourself?
You need to ask all these questions as choosing the right partner is a hard job. If you choose the right outsourcing company it will bring you a good partner for years. On the contrary, a dreadful company can ruin your business.
Preparation is everything. Investing time in choosing the right partner will lead to great dividends. The process consists of several steps. You can read about it below.
Before you start sending messages to the potential outsourcing partners, invest time in writing specification, functionality documents, diagrams and mockups of your future application. As a Client, you don’t just want a piece of software, you want a functional product – right? It will save your time, the time of your potential partner and will help both parties. Ideally, make sure you contact potential outsourcing company with already made specs and this will drastically speed up the process.
Precisely define what the application goals are. This will make the product development team to understand your vision better and develop your app to meet all your needs. Be as specific as possible.
Define the scope of the project. One of the fastest solutions is creating a product mockup – a visual presentation of the functionality of each application screen. If you’re not sure how to design mockups, you can create so-called user stories, which are a description of how the user (persona) uses the product.
If you have already done some work on your project describe the current state of it. Describe the existing system components and the technologies used to create them. If you’re aware of the technologies used, you can easily select the agencies with proper experience.
After you finished with creating mockups and specs, define the scope of work. Do you only need front-end development, backend or both? Do you need help with design and product management?
Choose the technology – yes, that is your work. Of course, you can consult with the potential partner, but if you choose technology by yourself it will narrow down the list of prospecting companies.
The final result of the two steps above, in brief, should look like this: “I want front-end developed using React framework, backend based on Ruby on Rails, database based on PostgreSQL and infrastructure run by AWS. Also, I need help in design and user experience”.
Make a description of the ideal company, something which is called ‘Ideal Customer Profile’ in sales. The description can include the below sections:
- Price/hourly rate
- Language proficiency
- The personality of the delivery manager
- Development process framework
- Past projects
After you finished up with these steps you can move to a more interesting part.
Do your research
There are several ways where you can find outsourcing companies:
- Research & review portals (e.g. Clutch.co)
- Just googling companies
- Ask for recommendations among your friends
- Look into your inbox, maybe some of the companies have contacted you with a cold email
Then bring your description of the ideal company and make a list of 20-30 leads that match your ideal company description, technology and the size of the team.
Visit their websites and see the case studies pages, ‘About us’ and the team page. The website should look professional, have good language and should contain an informative value proposition, the technologies they worked with and past projects.
You can check their technical skills. See what technologies they use besides Java, and ask for some code samples. Do they have any open-source projects in their portfolio? Check if it meets your expectations.
Search for similar companies, and ask whether they used outsource help and ask for the intro and review.
The first touch and impressions
Send an email to the companies from your list with the basic information about your project, goals and clear call to action:
After you send the emails, look at how the companies respond. There are several criteria on what is a good answer:
- The speed of the reply
- The language
- Did they ask clarifying questions?
- Have the company tried to arrange a phone call?
There is no better thing to do than talking to them – make the phone calls with the companies you like and those who responded with a clear message. During the phone call pay attention to the details, their English, technical skills, the understanding of your business. Did they make the first research of your company before the call? Have they signed up to your app if it has a workable version? Did they ask a request to your files? Etc.
Pay attention to such things as their engagement, being open to discussions and willing to contact often, honesty about the problems and suggestions related to the project. This is not easy to verify before you start working with a company, but don’t ignore it.
All these factors should indicate whether they are really interested to become your partner or this is another bunch of developers who want to make money from a random guy with a shitty idea/app.
In brief, the process might be similar to hiring. You decide how skillful the person (or company, in your case) is, estimate the personal qualities and soft skills.
Previously, I mentioned several criteria on how to decide which company will better fit your requirements. But let’s dig deeper into the standards of a good custom software development company.
During the conversation with a potential partner, you should pay attention to every detail. Does the company who will be developing your app really know your industry and did they perform the basic business analysis? It is crucial for your future application because the application is not only the technology but the business logic too.
Do they understand your project mission? Are they prepared to work with you to achieve success? Your future outsources partner need to be not only just a technology partner but the business partner who supports you and shares the victories and losses with you. A successful outsourcing partnership is built on trust. Would you hire the person you are talking to? If not, better move on.
Check the country, prepare to be like a native
Read about the country where the potential development company is located. You should pay attention to such components of work as:
- The speed of the internet, probably you will have dozens of phone calls, you should be assured that setting up a call will be not a nightmare, but a productive piece of time
- English proficiency level. Again. It is all about productivity and business. The person with good language will better understand your needs and requirements and you will get the information back fast.
- Calendar and national holidays. On the first look, it is a simple thing, but what if the national holidays in this country will be held during your busy season?
- Business culture. Will your business partner be able to integrate seamlessly into your existing business processes? Will your outsourcing partner really work as an extension of your business, and will they feel the same sense of ownership in the projects as your employees do?
Let’s move to the final steps. Carefully check the references from other companies that worked with your potential partner. Ask for the price and ask what the price includes. Some companies may charge you additionally for communication, project management and not only for the development services. Ask what is the payments procedure? Do they need prepayment and how often will you need to pay for development services?
You need to make sure that the development process will fit into your processes. For example, ask about project management, communication, and task tracking tools.
Make sure that the company on the other side has a clear picture of your business and future app before the estimation process begins. Before you start to work on a regular basis you can give them a small piece of the project to see how the work will go.
And always remember that your partner should work as an extension of your business.
Recap and Conclusion
To find and choose an outsourcing company, you need to take some time and effort. Despite potential cost savings, there are a few things you should take into account: business environment and engineering resources of a chosen region, programmers’ skills, their experience, project management, and communication skills, etc.
I really hope this article will help you to find and choose the best outsourcing company. Considering the increasing number of companies offering software development services, you have a lot to choose from. Do the research, define your priorities and you will surely find a company that will fit your needs.
We have also prepared slides with key points of the article: Go for it.
We at Flatlogic are developing Vue, React and Angular templates and react native templates. We are listed among the top 20 Web Development companies from Belarus. Since the last 5 years, we have completed around 20 big projects for small startups and large enterprises. As a team, we always have a deep desire to help our clients.