One of the 5 necessary but not sufficient criteria I use for evaluating investments for K9 Ventures is that the entire team must be together and be local to the Bay Area. In fact, I have an explicit exception for companies that rely on outsourcing, contracting, or those that have distributed teams. The reason why I want the teams to be located in the San Francisco Bay Area is the subject of a whole blog post in itself (coming soon!). For now I wanted to talk about why I am so opposed to any outsourcing, contracting and distributed teams for small (< 10 person) tech startups.
The simple guideline is this: If you are a tech startup, where the technology is your business and not just supporting your business, then you shouldn’t be relying on any outsourcing, contracting, or distributed teams for developing your core product.
Okay, so now that that’s out of the way let me move on to explaining why:
My opinion on outsourcing, contracting, and distributed teams is based on a very simple desire of removing as many points of friction between the core tech team and trying to facilitate as much face to face time as possible. The best work, IMHO, gets done when the core tech team is all in one room — within shouting distance of each other. If I have to type up an email or enter a bug report in order to get something fixed, that’s simply not fast enough! Instead, I want to be able to tap the guy who wrote the code on his shoulder and tell him, “Dude, your code is broken, fix it!” For a small startup, the overhead of managing a remote or distributed team far outweighs any cost advantages that may be exist.
In the very early stages of a company’s development there is a lot of fast-cycle learning that should happen and needs to happen. If the founding team is not capable of building its own product, and instead of building the team locally to do it with them, relies on outsourcing or contracting, then that learning is a) not happening in as tight a loop as it needs to, and, b) is not being fully captured in the company. The job of the founders is to build expertise and capture it within the company — that is what adds value for a tech company.
This can be seen in the early M&A / talent acquisitions that are common these days, where the value of the company is typically a multiple of the number of engineers in the company. (Note: This should not be construed as an opinion for or against on talent acquisitions — but simply an observation to support the point that to capture the value in the company, you have to build the team.)
This also what makes reliance on contractors dangerous, since the learning is not really being captured within the company, but is leaking out to a third party. If the long term intention is bring the contractor on board full-time then that may be a reasonable path. However, that expectation should be set up front, so that the company knows that the contractor would at least be open to the option of joining the company full time in the near future.
Having the team together in one location is important not only for the tech team, but also for the business team. In fact, in most early stage startups the technology, the product, and the business are intricately tied together and also happen to be done by the same core team. Sometimes the best idea and the best work doesn’t happen when you’re sitting at a desk, but happens when you’re walking to lunch with your co-workers and someone says “You know what would be wicked cool…” Those serendipitous moments are lost when you have a distributed team.
I know there are several people who will give me counterexamples to this post. I acknowledge that there are cases in which outsourcing, contracting and distributed teams have produced outstanding work. However, I believe that the chance of success of a team is an order of magnitude higher when the entire team is local, in one room and working closely with each other.
Bottom line: “When you put a couple of smart people in a room together good things happen”