Outsourcing Development Without Killing Your Startup

March 2016 /

Thinking about outsourcing development? Read our guide on how to effectively manage your outsourced project and position it for success.

At an early stage company, tight budgets and even tighter timelines are cause for constant pressure. Simultaneously, web and mobile software development remains one of the most costly components of any startup’s early budget.

One of the ways to reign in the often astronomical costs of developing a product is to outsource that work overseas to countries where developers work for far more affordable rates than they do in the United States. Outsourcing often gets a bad rep among entrepreneurs; everyone has heard the horror stories of lost time, wasted money, and failed companies that suffered at the hands of poor offshore development.

The truth is, any time you relinquish control you are inevitably taking on risk. Knowing how to properly manage that risk is the key differentiator between success and failure. Here are five things we learned — many the hard way — about successfully outsourcing development work:

#1 — Recognize that you are building an MVP.

One of the easiest mistakes to make when outsourcing development work for your startup is to bite off more than you can chew. Applications, just like the ideas behind them, are constant works in progress. Think about when you first had the idea for the product you’re building. Since then, you’ve probably re-worked, re-molded, and improved on that idea many times. And you are going to continue to do so, long after this first version is built.

One of the safest ways to avoid wasting valuable time and money is to focus on using the offshore development team to produce the simplest, leanest version of your product that still demonstrates the value that it will bring to users (hence the term MVP, or minimum viable product). Whittling your product down to an MVP, and setting aside all extra features for a later build, will allow you to keep both your budget and timeline intact as you build something that proves your value proposition.

#2 — Compare multiple developers to find the best fit for you and your team.

A common misconception is that developers are tools that you are bringing in to do a straightforward technical job and leave. The inconsistency here is that you are asking these developers to bring an idea to life: that requires a transfer of key information from your team to theirs. As a result, you are going to want to make sure you place as much value on the interpersonal compatibility and communication skills of the offshore team you hire as you do on their technical expertise.

Finding a team that you feel comfortable communicating with will save time and money in the long run, as it will minimize the need to repeatedly backtrack and fix things that were done incorrectly the first time.

The best and most cost efficient way to compare teams is to break your MVP down into milestones, and use the first milestone — what should be a very small project — as a test for three or four offshore agencies you are considering. Assign the same small milestone project to each team you are considering for the full build, and use this time to find the best team to move forward with for the rest of the project.

Paying a couple of development teams for one to three weeks of preliminary work will cost a little bit more in the short term, but will save you time, money, and immeasurable headache in the long term.

#3 — Establish clear understanding of the product: nothing is intuitive.

Once you hire a team, it is important to avoid mid-project iteration and backtracking as much as possible, because this will inevitably lead to scope creep. In order to best manage this, it is very important that you never assume anything about your product is intuitive.

When you spend most of your time thinking about an idea, and discussing it with the people around you, it is easy to begin to see certain aspects of what you are building as obvious and naturally apparent. Do not make this mistake. When you outsource development work, you are bringing people on board who are quite likely from a very different place and culture than your own. Their perspective will differ greatly, as will their propensity for seeing your product through the same lens you do.

Once you’ve selected a team, it can be tempting to have them start hammering away at their keyboards as soon as possible. Do not do this. Instead, begin the project with a comprehensive kickoff call. Use this call as an opportunity to explain the project from top to bottom to the development team. Explain the product idea, and explain the problem it solves. Go through each feature they will be building and explain what it does, how it should function, and why it is a valuable component of your MVP.

Finally, follow up this call by sending your development team a detailed summary of everything you discussed. This will help you to make sure everybody is on the same page, and establish a paper trail of accountability across teams.

#4 — Understand what it means to work with a team in another country: logistics and culture.

When outsourcing work, it is likely that the team you end up hiring will be working in a part of the world far from where you are located. This presents a unique set of requirements that can be easy to overlook; sometimes in focusing on getting the most from a technical standpoint out of an offshore team, one can neglect the very real challenges logistics and culture can present.

People conduct business very differently depending on where they are from. Without an understanding of the business culture in the country you have hired developers, miscommunications can arise that are frustrating and time-consuming. Taking time to learn about the cultural differences between how you conduct business in your own culture and how the team you’ve hired conducts business in theirs is not only efficient, it is also respectful.

Beyond general cultural practices, there are a number of more specific things to make sure you are familiar with when you begin working with an offshore team. The first has to do with communication practices. Knowing how employees communicate with their boss is very important for managing an offshore team. In certain cultures, it is common practice for employees to answer in the affirmative, even if this is untrue, in order to avoid a perceived “disappointing” of an authority figure. Being actively aware of these varying eccentricities will allow for more effective management throughout a project.

Additionally, it is important to be aware of holidays that your team will be taking off. When we were working with a team in Chennai, India for the first time, our project suffered from this initially. The office in India would be off of work Thursday and Friday for a holiday, which was perfectly reasonable. However, when that wasn’t something we were planning for, work commencing on Wednesday and not starting back up until the following Monday (two days off and then the weekend) felt like a huge setback to our team and our clients. The biggest lesson here was that a lack of cultural understanding on our part lead to surprise delays, which created unnecessary stress on our team.

Finally, from a pure logistics standpoint, working with teams in different timezones can be very difficult. To illustrate the logistical difficulties that can arise from working across timezones, we’ve created this tool to help visualize some of the constraints.

Handy development outsourcing timezone cardA visualization of the timezone overlaps between the US (EST and PST) and three common outsourcing regions.As you can see, there are often narrow or non-existent windows during a typical 9am-6pm workday during which your two teams can communicate. This generally means that somebody is going to have to get up early or stay late in order to keep communication consistent. Recognizing this at the onset of a project and scheduling meetings outside of the workday to account for this as necessary is key to maintaining the project scope you’ve agreed upon.

#5 — Buffer. Buffer. Buffer. 

Speaking of project scope: no matter how many precautions you take to mitigate confusion and maximize productivity, the truth is that something will always come up and cause delay. When you choose to outsource your development work, you are giving up control, and putting that control in somebody else’s hands. With this comes the reality that when a project sees delays, there is little you can do first hand to right the ship. There are few quicker ways to detract from the confidence of your team, investors, and clients than by missing promised deadlines. In order to be absolutely certain (or as certain as possible) that this does not happen, you as a manager need to buffer your timelines. Here’s how we recommend doing it:

Using the techniques outlined above, work with your development team to come up with a realistic and achievable timeline for how long your project should take. Take into account all the tangibles — and intangibles — we discussed above, in order to have the most feasible date for project completion. Now, double that timeline.

That new doubled number is the number you, your team, and your investors plan around. Missed deadlines cause bottlenecks and waste time and money that can be detrimental to an early stage venture (or the success of any project). It is far better to be pleasantly surprised by a project coming in early and under-budget than frustrated by the stress of a deadline being missed.

We hope these lessons are as helpful for you as they have been for us. Outsourcing isn’t easy, but when it is managed properly it can be a highly effective and impactful resource. Best of luck!

Connect with us to learn how we can help
Contact Us
or call (646) 776-4605
Latest Content
Read our latest articles about technology, real estate, and more