Friday, March 7, 2014

What You (Non-Tech Founder) Need To Know About Outsourcing - Part 1: Selecting Your Outsourcing Partner


Not so long ago, being a startup founder meant being a tech guy. Alternatively, you're the business guy who had to recruit the tech co-founder to get your product built. These days, building a mobile app is no longer impossible without a tech co-founder. And even for the tech co-founder, you can easily widen your technical muscle (say you're a backend guy and need an iOS developer) without having to give away equity. But anyone who's ever outsourced will tell you it's not that easy. 

We built Melltoo, social classifieds marketplace, a mobile app for iOS and Android, by outsourcing. We hired a freelance UI/UX designer from Ukraine and had the coding done in India. We built a great product (download it to believe it!), but it was neither easy nor quick. Here are some tips based on our experience to help you select your outsourcing partner successfully. 

1. Know what you want
First and foremost, you must know your product. What is the product you are building? What are the features that need to be built? How much time do you have? How much money can you spend? Who is your target audience (affects the UI/UX)? What is the brand identity (again, UI/UX)? 

Next, you must know your own work ethic and the expectations you have of your outsourcing team. For instance, entrepreneurs like us tend to work around the clock. We send messages to our UI/UX guy and our coders at all times of the day, night, and weekend. Our Ukrainian designer does not reply outside of work hours, but our Indian coders quite often do. If you are someone who needs immediate answers, then you should look hire people that don't mind providing them immediately. 

2. Understand the development process
You are not a tech guy, but you should still do your best to understand how tech products are built. For instance, read up on agile development or the difference between PHP SQL v ASP.net. The aim is not to learn how to do what your tech team is doing; rather, it is to familiarize yourself with the processes. In this way, you will not frustrate yourself or your tech team with unrealistic expectations. These days, agile development is the preferred approach to development. What this means is that your team will be focusing on general functionality before details; so if you keep nitpicking the details because you don't understand agile, then you will end up driving yourself and them nuts. 

3. Do your research on outsourcing
If you google mobile app development, you will get about 800 million hits. Not very helpful. First, narrow it down by country. Which country you develop in depends on a number of things: your budget, your language proficiency, your work ethic, distance, time difference, the type of app you are building. We started by looking at Romania first. Romanians produce excellent work and are known to be professionals; as a result, they are a popular outsourcing destination, which means higher prices and lower availability. We then moved to Ukraine. Again, Ukrainians are known to be professionals and design-oriented. Their prices are moderately lower than Romanians but availability remains an issue and we were told our app would take 6-8 months to build, at least. Next, we looked at India. Costs are low and availability is high but a couple of bad eggs have made it such that outsourcing in India has a bad name on the Internet. However, in talking to a number of Indian friends (thanks Suhel Khan!) in the tech industry, we were reassured that outsourcing with Indian companies was the way to go.

4. Take your time in selecting your outsourcing team
Selecting your outsourcing team is second in importance only to selecting a tech co-founder. Your outsourcing team can make or break you. They can help you launch your app in 3 months or they can cause you to give up on your business after 6 months of bad development. The only thing that differentiates them from a tech co-founder is that you don't have to buy them out if things don't work out. 

Once we decided on India, the next step was to narrow it down. Through sourcingline.com, we identified five companies in India that we wanted to work with. We read everything we could about them, both good and bad reviews. We spoke to their sales people, got a ballpark quote, asked for references of previous clients and called those clients. We pored over their portfolios and looked at every app they built that was remotely similar to ours. We identified the technical strengths and weaknesses of each company and took detailed notes of everything.  

Then, we narrowed it down to two companies. At this point, we signed a non-disclosure agreement and provided them with a detailed description of the app and its features. We also did a mock-up of the app that highlighted some of the main features and went over it with each company using teamviewer.com. At this point, we requested a final quote and a sample logo design in order to help us make the final decision. This process took a month and a half. All throughout, we were communicating with the companies and asking them every question that popped into our heads. Not only was this process useful in helping us select who we wanted to work with, it was beneficial in getting technical input for product development purposes. It also led us to select a freelancer for our UI/UX design, but that's a different blog post. 

And by the way, do not be shy to negotiate. It never hurts to ask, the worst they can do is say no. Sometimes, a company is willing to accept a lower bid if they believe in the project and/or if they don't have any other projects going on at the time and need something to keep their people busy. 

5. Communicate well right from the beginning
Even before you engage with an outsourcing partner, be sure that you are communicating well. Make sure they understand your project and its scope. This is the foundation for a successful outsourcing relationship. In our case, because of some paranoid fear (my co-founder!) that they would steal our idea, we failed to properly communicate the scope of our project to our outsourcing partner. Naturally, they underestimated the scope of our project and quoted us a figure that was too low. Once we finalized everything and begun going into details with the actual team of developers, we were told that the sales person made a mistake on the quote. Fortunately, we had made sure that they incorporated our app features documentation and wireframes into the work contract. So the company had no option but to renegotiate the deal with highly favorable terms. 

If you would like to hear my recommendations for outsourcing partners in India, please tweet me @melltoo_mom.

To see what is possible with outsourcing, download Melltoo for iOS or Android:



No comments:

Post a Comment