Outsourcing, the word is bound to make you think of India. In today’s tech heavy environment, there’s no dearth of software development firms eager to create your next web or mobile application. With all the horror stories around outsourcing, it is imperative to choose the right vendor. What defines a right vendor? How do you identify a highly-skilled, creative company who delivers within the budget, and meets the deadline? Today, you’re spoilt for choice and what makes selecting a provider difficult is that most outsourcing companies claim similar experience and capabilities.
It all boils down to two broad factors: How much experience, and skill do their developers actually come with, and how good their process is. You can check their technical skills by looking at their previous projects, the tech stack they work with and whether they have enough skilled developers to take on your project. If they tick the right boxes in technical expertise, take into consideration the intangibles. Let’s take a closer look.
1. Identify the gaps
Figure out the current IT gaps in your organization and decide on what you can handle yourself and what you need to outsource. The requirements of those gaps will drive the selection of your outsourcing partner. Once you’ve identified your IT gaps, you can define which technology stacks you need help in, whether they’re more specialized technical skill sets or established stacks. Prioritize your needs, and review them with your internal team. Here, you’re looking for the best fit between the existing skill sets and bandwidth, and what potential outsourcing projects bring to the table.
2. Ask the right questions
The best way to weed out less experienced outsourcing vendors from the experienced ones is to ask pertinent questions and see where they stand on different issues. Ask them to talk about how they handled a project in the past which went wrong. None of us are perfect. There must be a case which didn’t work out exactly as they envisioned, their answer will give you an insight on what they took out of the experience. Ask them what they expect of you and what you should expect of them while they’re working on your project? Ask them what collaboration tools they use during the project and whether the developers assigned to your project will work on any other project at the same time? How do they ensure software quality? Will you own the source code? How easy will it be to scale a team by one, three or five developers?
Ideally, your outsourced team functions as an extension of your internal team and emotionally invests in your project. An arrangement like this will give you the flexibility to reassign resources and increase or decrease the team size to fit tasks as needed. Since software product development is an iterative process, to respond to market demands efficiently, having flexibility in managing resources is crucial. Else, you'll have to work with a rigid structure, unable to adjust the development process and team in response to market demands if you choose to outsource a one-off project with a fixed scope. For more complex projects, outsourcing the entire process with no internal IT team to oversee the process doesn’t work.
Pick a partner who understands your industry, managerial style and process strengths. For instance, if you’re used to agile, pick a company who uses agile. Ensure they understand your context. It’s important they understand your market and users, especially if it's a product meant for external users and not your internal team. They should be able to help you set KPIs and measure it at certain stages of product development, based on the information you give them.
5. Size up the vendor
If you’re not huge, don’t go for a big company and don’t pick a ten person two room company, if you need scale. Find the ideal mid-sized vendor. If nothing else, fixing your budget will instantly narrow your search by thousands of potential providers. Your budget, unless it's huge, will likely be just another project for a billion dollar company, so don’t expect any extra attention. Also, you’re dealing with a significantly larger company than yours, so the advantage is on the side of the outsourced vendor if things get rough. Now, your project might be too big for a company with just ten people, who are already juggling other clients. The perfect vendor would be big enough to handle your project while having the room to scale if necessary, yet small enough to provide individual client attention and hands-on management. Identify what mid-size would look like next to your budget.
6. Check references
While testimonials and reviews do provide insight, don’t take everything at face value. Ask the potential vendor for a list of clients you can talk to. Hopefully, the clients confirm that the potential partner did create the app they said they did, and the client gives you an unbiased opinion of all their experiences with the company. Also, look for agility. Ask if the company was fast to solve problems, fast to develop their app, and fast to respond to their change requests while talking to a company’s past and current clients. Additionally, you can also test previous apps created by the company. Either way, make sure you’ve seen several mobile apps they’ve created.
The process they employ will determine how smooth the communication process will eventually be. This applies both to some mundane issues such as how they propose to work around time zone difference and also to the things like their engagement, how honest they are about the problems and suggestions related to the project and how often they update you. As it’s not easy to quantize some of these mundane things, it is often neglected, especially by companies who don’t have global experience. They don’t realize the importance of good communication. Having worked with clients from across the globe, we believe the more products you develop, the more attention you pay to the communication and process.
Values. Company culture. These are not easy to define or quantize, but they hold just as much importance to business as all the other points we covered. Intangibles will determine whether you choose to renew a contract, without even looking for other options in the market. They include things like a company’s reaction when you request new approaches or their responsiveness to your queries. A company’s true culture reveals itself through their interactions with customers and vendors alike, how they handle the little things and their engagement in the community. If you feel comfortable with the people you outsource to, doing business with them won’t feel like outsourcing, it should feel like they’re working in the room next to yours.
Building a custom software solution is an exciting process as long as your outsourcing partner can do justice to your vision. You take the driver’s seat, and the possibilities are endless. At Cognitiveclouds, we’ve found having teams in both the U.S. and offshore locations can overcome many of the challenges which come with offshoring. You’ll have a local connection actively engaged with your team in the US, while most of the work is outsourced to India, the best of both worlds. Happy hunting.