Nowadays it’s becoming increasingly more common for companies to outsource their development teams as a business strategy in order to increase productivity and profits, and to decrease the time and costs of hiring additional developers on staff. If you or your company are considering outsourcing development, there are a few things you’ll have to keep in mind in order to make sure you find a company that is the right fit for your project requirements.
This article will cover the main factors you should take the time to investigate before hiring a company, and will give you tips on what you should cover with the company once you’ve opened discussions with them in order to ensure a productive and collaborative partnership.
1. Identify Why You Are Considering Outsourcing
While this may seem like the most straightforward step, it’s necessary to fully understand the challenges your company is currently facing, and more importantly: how outsourcing would help overcome them. For instance, is it strictly for budgetary reasons? Are you on a tight deadline, requiring the help of additional programmers to meet it? Is your current software not up to the standards that the market demands, and you need a team of developers with specific experience to help?
Main Reasons Companies Outsource
Furthermore, your goals should be clearly expressed to the company. If you want to release an MVP, correct a previously released application or simply improve your current product this should all be communicated to the company so they can understand the type of resource(s) that should be assigned to the project, and start asking you the right questions to get further relevant details.
2. Draft the Questions You’ll Ask the Company
Before setting up a call with the company, take some time to write down the questions you plan on asking them so as to make sure you get all the information you need. There are some key questions that you should consider asking, and some topics you should look on discussing.
Remember that in many instances, outsourcing companies cannot publicly post all of the companies they’ve worked with. Don’t hesitate to ask them for some examples during the call. If you’ve reached a further stage of discussion with the outsourcing company, you should feel free to ask for the e-mail or number of one of their clients as a reference.
To understand the benefits a specific company can offer you, it’s crucial to get an early understanding on how they conduct their work at a distance. For example, which project management tool they use, how they communicate with their clients and how frequent their contact is. Is their work based on Agile Methodologies? Would the time zone difference allow you to have calls during business hours? These are some examples of what you’ll have to keep in mind. Consider asking what they regard to be a typical week with one of their clients.
Considering that generally the most efficient way to manage a project remotely is to have the developers be an integrated part of your in-house team, it’s important to meet the resource(s) the company plans on assigning to the project beforehand. After communicating the profile you’re looking for, be sure to ask for the résumé of the developers they have in mind for the project. Additionally, you should be able to conduct your own one-on-one interview with the candidate. This way you’ll be able to personally decide if they’re suitable for the project, as well as gain a clearer understanding of their experience and language proficiency.
3. Pricing - Define the Project Duration
Rarely will a company communicate their prices publicly on their website, as they vary based on the project scope and the specific requirements. In order to get an accurate quote, it’s imperative to communicate the project scope to the company. The company will need to know if the project is short-term with the majority of the features already defined, or a long-term project where the milestones and next steps will be defined throughout the project’s duration. In the case of the former, the company will likely quote a fixed fee and estimate the time to market. In the case of the latter, a time-and-materials business model will likely be contemplated, in which case you may ask the company for their hourly rates based on the technology and the developer’s seniority.
How the Payment Methods Vary
4. Define the Project Scope
Aside from offering a high-level project scope to the company, you should also keep in mind that as you progress in your discussions all technical details should be defined, particularly for fixed fee models. During the initial call, try to have someone with technical knowledge on the project’s requirements present. After the call, you’ll surely have several follow-up questions about their developer’s experience and how the company would handle your specific case. Consider sending them an e-mail or two with all of your technical questions. This way you’ll get their answers confirmed in writing, and in more detail than you’ll be able to cover verbally. Likewise, the company would benefit from having all the information they can in order to offer you an accurate estimate. You should consider sending additional information on your plans and milestones for the project, including use cases. If you intend on sharing confidential information, be sure to request for the company to sign an NDA.
5. Recap and Further Tips
1) Understand the challenges your company is facing, communicate them to the company and be open to listen to their input based on past experience and level of expertise.
2) Draft the questions you’ll ask them in the initial call. Get all the information you need.
3) Ask for references; sites, applications or people the company has worked with.
4) Define the project scope early in your discussions to get an accurate estimate and quote.
5) Meet the developers that the company wants to assign; Interview them and ensure that they’re a right fit for the project.
6) Consider a brief PoC (Proof of Concept) or Trial contract of a one or two-month duration before beginning a long-term partnership.
And most importantly, be sure to invest the time and care to find a company that will make your day-to-day life easier. Don’t underestimate the importance of the company’s language proficiency and time zone in order to ensure optimal coordination between both teams.
Considering outsourcing development? Want to try out these tips?
Contact us at firstname.lastname@example.org or visit our website.