It’s a decision that can make or break a startup: Do you invest in in-house resources to create your product or do you outsource to a third party developer? On the one hand, as a startup, shouldn’t product development be a core competency? On the other, surely it’s better to get to market as quickly as possible and allow the “experts” to help you get there and avoid all the pitfalls of technology development?
Both approaches have their pro’s and con’s and the decision is by no means straightforward. The answer depends on a number of business and cultural factors and the type of product you are looking to build. Nevertheless, it’s a decision that needs to be taken early-on in a startup’s life and can leave founders in a quandary as to the best approach.
At Altar.io we have worked with a number of early-stage businesses – as well as providing product innovation for larger corporates – and we have learned many lessons on how to tackle such a momentous decision. In this article – the first of a series we are publishing on outsourcing and in-house developer selection – we set out a structured approach to help founders decide which approach may be best for their startup.
The outsourcing decision tree
As with all major decisions in life, the answer to whether or not to outsource requires you to break a complex question down into simpler steps:
Step 1: Is technology part of the core value proposition of the product or is it a vehicle to solve a business need?”
For most startups there are two possible answers to this, either:
- Technology is the core proposition; or
- Technology is the means being used to solve a business issue
In general, if your business comes under (1) then you are more likely to develop the solution in-house. If it’s (2) then your startup could benefit from outsourced development.
For example, consider Loopback, a Node.js framework that enables developers to create dynamic end-to-end REST APIs with little or no coding. Here, technology is pretty much the only proposition so Loopback would come under (1). Contrast this with AirBnB, which enables property owners to monetise their home and enable travellers to have a unique experience in the city they are visiting. Clearly, the key value proposition of AirBnB is for property owners and travellers, meaning the business comes under (2).
Generally, businesses that come under (2) and are using technology merely as a way to solve a business issue should consider outsourcing, for reasons we will discuss later.
Sometimes the distinction is not so clear. Consider GitHub, the platform for developers to host and review code, manage projects and build software. Whilst technology is the core proposition, the platform itself is there to solve a business issue for developers. This creates a grey area, so we should proceed to the next steps.
Step 2: What is your target audience/who are the buying customers?
In general, the answer can simply be summarised as either:
- Our product is aimed at technology specialists/developers; or
- Our product is aimed at consumers/business customers
Returning to our previous examples, Loopback and GitHub come under (1), whilst AirBnB comes under (2). However, again this can create grey areas that can only be solved by answering one more question:
Step 3: Does your product involve a technological “secret sauce” that makes it unique?
By this we mean either the technology itself is proprietary to your startup, or the way it’s being implemented is unique. The two possible answers are:
- Yes; or
This clarifies the GitHub “grey area”. The platform is targeting developers, but neither the underlying technology not its implementation is unique or proprietary, so the answer is (2). The contrasts with Loopback, which would come under (1).
So how do I decide what’s right for my business?
As illustrated in the decision tree below, it’s generally inadvisable to outsource software development when:
- The business has technology as its core proposition
- The end consumer is technology people; and
- The technology is either proprietary or unique in its implementation
In any other scenario, a software project can either be built in-house or outsourced (or possibly a combination of the two), depending on your willingness and other circumstances that might affect your business case.
“The key decision point is around how quickly you need to get to market and what your financial resources are.”Judy Robinett, startup expert and author of Crack the Funding Code
Judy Robinett, startup expert and best-selling author of Crack The Funding Code notes “The key decision point is around how quickly you need to get to market and what your financial resources are. Remember, outsourcing has been used by many very successful companies to develop their MVP, such as Slack, which is valued at $3.8bn, Skype which sold to Microsoft for $8.5bn, as well as BaseCamp and Github.”
“If you have someone in-house, most probably there is chemistry between you so it’s more efficient to talk about projects and get things done.”Evan Varsamis, CEO at Gadget Flow
However, outsourcing is not for everyone, and there are cultural factors to consider. Evan Varsamis, CEO at Gadget Flow states “I personally prefer having an in-house team to work on projects instead of hiring a new team/developer for every project. Most freelancers or outsourced teams care about delivering the project, not the best possible version of it but whatever releases the next payment.” He adds “Another issue (with outsourcing) is communication. If you have someone in-house, most probably there is chemistry between you so it’s more efficient to talk about projects and get things done.”
In a nutshell: the pro’s and con’s of outsourcing
Alexander Jarvis, startup mentor and co-founder of 3 startup “unicorns” usefully summarises the main benefits and challenges around outsourcing versus in-house development:
Team: All the tech skills are at hand, and if team members suck, that’s not your problem, the shop needs to find someone else.
Quality: If the outsourcer is really good, you get a product that actually works.
Project management: Good shops will run a process, and you should typically expect a product on a fixed timeline.
Time to market: If you are trying to ship an MVP, they may help you do that faster. If you are burning money, having a product to sell matters.
Focus: If you aren’t a developer, you don’t have a clue. If you don’t initially have to deal with tech, you can focus on other aspects of getting set up, like marketing etc.
Price: They will be more expensive than if you are competent and have access to the right people in-house.
Documentation: They might not document things properly, meaning you may eventually end up throwing out the whole code base and start from scratch
Code: Lower quality shops or independent devs may ship crap. Ok, you get going, but you still may have to dump everything eventually.
Investors: Do not look favourably on third party work as there is no tech competency in house. You illustrated you can pay people, but not that you can ship anything.
Control: You have more control over the process.
Continuity: Easier for devs to work on code that they built.
What are you?: This is the KEY point. If you are a TECH startup you need to be a tech startup. What are you otherwise? It needs to be a core competency.
Investors: Prefer this as you have proven you can build a product and so will be more likely to be continually able to improve and adapt it for customers.
Hiring: Do you know where to find the devs you need? Most founders don’t have a clue where to start.
Firing: If your idea doesn’t work you need to scale down, which is hard.
Mess up: If your devs don’t ship, you can’t launch at all. Can be better to have something expensive that works, then something sort of expensive that is pointless and you aren’t learning from customers
Jarvis summarises the decision as: “If you have cash, want to launch fast, and don’t know lots of developers then pay a quality shop to ship. On the other hand, if you have some cash, don’t want to throw out code, and will be fundraising soon then do it yourself!”
So should a startup outsource its software development?
Nevertheless, even if outsourcing is a potential solution, the decision to do so will depend on a number of business and cultural factors. And if outsourcing is the road you go down, then ensure it’s on the right basis. Paul O’Brien, founder of MediaTech Ventures, and Director for Texas of the global startup incubator Founder Institute provides this useful insight on the matter: “Outsource the job to be done. Not the reason it needs to be done nor the ownership of what needs to be done; outsource the skills and work in the same manner that you’d hire the best resources for any job. The challenge for entrepreneurs, is in appreciating that what is built still needs to be your IP. Outsourcing your software build should not be at the expense of losing your understanding, control, or ownership of what you’re doing.”
The choice, as they say, is yours. But whilst there are never any guarantees that the decision you take will be entirely right, by ensuring you take it on an informed basis in terms of business needs, cultural fit, financial resources, etc. will mean you stand a much higher probability of success.