In-house vs Outsource
Picture this: you’ve recently been hired as the CIO of a start-up company. You’ve been tasked with producing the core software that will serve as the lynchpin for allowing the company’s business concept to soar and create disruption in the market. (Think Amazon, Facebook, or Uber.) Lots of excitement combined with a huge amount of pressure to deliver. You’ve got many decisions to make, not the least of which is whether or not to build an in-house team to develop the core system or to outsource it to a software development consultancy. So, how do you decide and to whom do you turn to if you do opt to outsource?
CC Pace is one of the software development consultancies that a company might turn to as we focus in the start-up market. Developing greenfield systems for an innovative new company is an environment that our development team members greatly enjoy.
A question that has been posed to me fairly frequently is: why would a start-up company outsource their software development? While I had my own impressions, I decided to pose the question to some CIOs of the start-up companies we’ve worked with, along with some CEOs who ultimately signed-off on this critical decision.
The answers I received contained a common theme – neither approach is necessarily better, and the proper decision depends on your specific circumstances. With some of these circumstances being inter-related , here are the 4 primary factors that I heard the decision should depend on:
- Time-to-Market – It takes time to assemble a quality team, often up to 6 months or more. Even then, it will take some additional time for this group to jell and perform at its peak. As such, the shorter the time-to-market that the business needs to have the initial system delivered, the more likely you would lean toward an outsourced approach. Conversely, if there is less time sensitivity, it makes sense to put in an in-house team. This team will be able to not only deliver the initial system, but they will also be able to handle future support and development needs without requiring a hand-off.
- Workload Peak – For some new businesses, the bulk of the system requirements will be contained in the initial release(s) while others will have a steady, if not growing, stream of desired functionality. If the former, hiring up to handle the initial peak workload and then having to down-size is not desirable and can be avoided with the outsourced model. On the other hand, a steady stream of development requirements for the foreseeable future would cause you to lean towards building an in-house team from the start.
- Availability of Resources – While there is a scarcity of good IT resources seemingly everywhere, certain markets are definitely tighter than others. In addition, some CIOs have a greater network of talent that they know and could more easily tap than others. The scarcer your resource availability, the more likely you would lean in calling upon outsourced providers. Conversely, if you have ready access to quality talent, take advantage of that asset.
- CIO Preference – Finally, some CIOs just have a particular preference of one approach over the other. This may simply be a result of how they’ve worked predominately in the past and what’s been successful for them. So, going down a path that’s been successful is a logical course to take. Interestingly, one CEO commented that his decision in choosing a CIO would be that person’s ability to make these types of decisions based upon the business needs and not personal preference.
I would love to hear from anyone who has been (or will be) involved in this type of decision either from the start-up side or the consulting provider side, as to whether this jives with your experience and thinking. The one variable that wasn’t mentioned by anyone as a factor was cost. That surprised me a lot and I’d also welcome any of your thoughts as to why this wasn’t mentioned as a factor.