Build in-house or outsource?


9

I'm working with a SaaS business with a non-technical founder/CEO and am looking for pros and cons for (1) building the software in-house vs (2) outsourcing version 1.0 to a consulting firm.

From what I've seen, there tend to be two schools of thought on this, one from the technical folks ("Don't outsource your core product") and one from the non-technical business folks ("Consultants will give me more support, stability, and innovation").

I'm the CEO's technical guide during startup, but eventually I'll be replaced with a permanent CTO and she'll be on her own. So my question is, with a non-technical CEO, is one choice better than the other?

[Edit: After reviewing the answers, it looks like we're going to outsource version 1.0 to a local company that we trust, and I will give them an insane amount of guidance. When we get to the point of bringing on a permanent CTO, we'll also look at bringing the development in-house.]

Hiring Development Outsourcing Consulting Saas

asked Jan 8 '10 at 07:39
Blank
Torrie
230 points
Top digital marketing agency for SEO, content marketing, and PR: Demand Roll
  • RE: the "EDIT". If nothing else, speed to market is now on your side. Yes, definately keep tight control of the product vision and design, as that is your expertise. If you spell out the vision clearly to your outsource they'll be able to leverage their unique skill set to make it a win-win for both of you. Good luck! – Chris Dansie 14 years ago
  • Good idea to do keep it local. – Tim J 14 years ago

10 Answers


5

I've seen a very successful web business be built and sold using a partner company for all development and hosting. It worked beautifully for 6 years before acquisition. Their ability to focus on the business and not the technology was a strategic advantage. The founders were non-technical CEOs and they found a "trusted" outsource partner that had a seasoned development team that could scale up as needed.

I'd be wary of independent consultants because the long-term stability may not be there.

As for building your own team, it will take longer and more money than most would expect. It will also take years for your development process to mature. If you go this route get a six figure software architect to take lead at the start or it will be a long painful learning process.

Hope this helps!

answered Jan 8 '10 at 08:04
Blank
Chris Dansie
491 points

3

I have been a project manager in and around outsourcing for a couple of years -- both working inside a outsourcing company, and as a customer using a outsourced dev team.

In my experience, having the developers outside of headquarters always increases time to market. No exceptions.

Edit: Come to think of it, after reading Tim's comments, maybe there can be an exception: If you don't have any developers right now, and you find that you can't attract any developers either, then maybe time to market for a version 1 could be better with outsourced dev team. But on the other hand, if you can't sign up any skilled developers quick'ish then IMHO that's a symptom of serious problems elsewhere (vision / CEO persuasiveness / location).

Consultants will give me more support, stability, and innovation

Support -- maybe, but should that be important... Stability, forget it. Stability is for large companies in established markets. Innovation -- absolutely no, you'll get the most innovation when the developers and product owners are within arms reach of each other.

I would suggest you consider these things in context of your startup:

  • The value of time to market for you. If you're doing Lean Startup, the value of short cycle time through the Idea - Implementation - Data loop.
  • As best possible, how large is the technology contribution to your startups value, i.e. are you technology heavy, or is it all commodity stuff?
  • Bringing a technical co-founder on board now, having someone who's heavily invested in the startups future and who has prior experience building solutions similar to yours.

Additionally, maybe your first iteration doesn't need to have any code behind it at all?

Chris Dansie speaks of a successful company built with outsourced dev team. I have realized a very successful project with an outsourced dev team. Clearly it's possible, but I have seen many disappointments with outsourcing.

(Is the failure rate of outsourced development higher than that of non-technical CEO with in-house hired development team? I don't have any data for that, so I couldn't say.)

answered Jan 8 '10 at 09:47
Blank
Jesper Mortensen
15,292 points

3

It's [highly] debatable which is the better option, but here's a question worth asking: if we outsource, does our vision of our product get build, or their's?

At some point in the development process for "1.0" the work can be subcontracted effectively because you're at the level of detail fill-in where what your app is and what makes it special (and therefore valuable) is set. But until you get that uniqueness DNA into the product, it's premature (in several senses) to outsource.

answered Jan 8 '10 at 12:19
Blank
Bob Walsh
2,620 points
  • Bob, this matches what I've seen so far with this project. The founder got an initial proposal from a consulting firm & it was an astronomical price and wasn't for the correct system that she wanted. Since I came on board we have put together a proper project spec, requirements doc & wireframe prototype, and we're now starting to see much better proposals. The maturity of the idea definitely seems to have a big effect on whether outsourcing can be successful. – Torrie 14 years ago

3

Reading all of these responses they all seem to assume that you can easily find in-house talent and outsourced talent of equal caliber that you can work equally well with.

My experience has been that it's often just not that easy. I would be open to both paths and go with the one where I found the best talent that I'm able to really communicate well with. The one that best understands where I want to go and knows best how to get there.

answered Jan 8 '10 at 15:16
Blank
Dane
1,866 points
  • Agreed. Understanding is probably the most important factor (dare I say, even more important than technical prowess?) – Torrie 14 years ago

2

In-house is the only way to go in my opinion. You're building a Software as a Service business. Would you outsource marketing if you'd start a marketing business? Great software is hard to build. You need to have a team that truly understands your vision, that is responsive and dedicated. By the time you launch your product, your requirements will have changed many times. By outsourcing software development, you lose the benefits of a small, agile & cohesive team.

Unless you are willing to put some serious dollars on a reputable firm, I would recommend you to hire one or two top-notch developers ;)

EDIT: I forgot to mention that it would most likely be very challenging for you to pursue the development of version 1.0 in-house. Every programmer has its own language, framework, coding conventions preferences. Unless the code is very well designed and documented, it can take very long for a programmer to become productive in a large code base. Being a developer myself, in extreme situations where the code is a real mess AKA code soup, I find it more efficient to write everything from scratch than to modify the existing code.

answered Jan 8 '10 at 09:31
Blank
Olivier Lalonde
2,753 points
  • It may take a long time to identify and hire/bring on a partner that is competent. Sometimes the first proof of concept can be done with outside help. – Tim J 14 years ago
  • Regarding framework etc preferences I agree. But is this different between in-house and outsourced development? I would think it better to decide on this in-house (by the CTO) so that the team which will have to live with the consequences at least owns the decision...? – Jesper Mortensen 14 years ago

1

I can honestly say I have never heard the argument that:

Consultants will give me more support,
stability, and innovation

In fact, I have found the opposite.

Eventually you MUST bring it in house (and I think you realize that)

You will probably be ok with hiring outside people to do the first iteration.

The dynamic will be different with outsiders doing the development and it brings with it different challenges, but if you don't have a highly placed technical person then it is fine to do it that way.

Transferring the knowledge and the lessons learned from the first iteration might not be as well done if the first iteration was done in-house, but that can't be helped.

I joined a startup that had done an initial proof of concept in house, then farmed it out, then brought it back. The farming out and bringing it back had some challenges but was handled ok.

Most times I have been at places where the technology was developed in house, but usually one of the founders was a technology person/developer. In some of those cases the person who did the initial version was in over his head and they had to bring in real talent afterwards. It is similar, but easier than having an outside company do the initial version - you know lots more as an organization and you learn and internalize a lot more. When using outside resources you learn a lot, but you learn a different set of things. You have to be careful then that you don't treat the new people joining your company as hired guns. (assuming it eventually is brought back in)

answered Jan 8 '10 at 09:10
Blank
Tim J
8,346 points

0

In a SaaS based business, the technology itself is key, which means that it should be one of the core competencies of the company that runs it. There are advantages and disadvantages in cost and control to developing on your own and outsourcing, but when it comes down to it, you must be able to develop in house.

In some cases, you might want to mix and match different existing technologies, in which case integration might be what the company develops and what sets it apart.

A non technical CEO should still be able to see that the company should have core competencies that include the ability to develop what it needs. The CTO and VP-R&D need to be able to pull that off.

Good luck

answered Jan 8 '10 at 09:40
Blank
Ron Ga
2,181 points
  • The technology is not key. The technology is just a tool and any number of technologies can be used to implement a solution. The keys are the business model and the functionality. – Tim J 14 years ago
  • I assumed that business model and functionality are a given. Without those, there is no business. However, without technology being one of the core competencies, the business has no future. The business could should the world that the business model works, but then when technology shifts (and it does so in an ever increasing rate) any business that doesn't keep up will be gone. Take Google for example, had they outsourced their search engine, they might have saved a buck on the way, but they would be overtaken withing a few years by the competition. Same with every over web business. – Ron Ga 14 years ago

0

Someone in this firm has to be able to recognize software development talent. You can make them a partner, employee, contract or outsourced to another firm, but you have to be able to find people that know how to build software. Another factor will be how well can you motivate them when you have less control? You'd like to think an employee/partner with some equity would have the incentive to do a quality job, but they have to have the talent.

answered Jan 8 '10 at 15:10
Blank
Jeff O
6,169 points
  • Motivation for an outside source is clearly just payment for milestones. This option trades off one set of problems for another. – Tim J 14 years ago
  • The customers better know when the milestones don't match the dollars. – Jeff O 14 years ago

0

I have been outsourcing my coding. You have to manage it very closely or it will get out of hand. If I had my choice, I would definitely build an in house team. Nothing beats having the programmer sitting next to you or in the office next to you to talk about things.

answered Jan 22 '10 at 05:46
Blank
Hoang
21 points

0

You may wish to check out the relatively concept: Vested Outsourcing.

(Our first attempt about a year ago has failed, but we are on the other side of the fence. Our customer was a startup that had failed to close the A-series round and was even unable to pay our last invoice. Had to insist on them escrowing the funds...)

answered Jan 9 '10 at 03:46
Blank
Dmitry Leskov
606 points

Your Answer

  • Bold
  • Italic
  • • Bullets
  • 1. Numbers
  • Quote
Not the answer you're looking for? Ask your own question or browse other questions in these topics:

Hiring Development Outsourcing Consulting Saas