Friday, October 30, 2009

You Can't Outsource Yourself

Outsourcing is a buzzword these days, but you can't outsource your core competency.

Three times in the last few weeks, I have had meetings with consulting clients or potential clients who believed that they could build a technology company with no developers -- in essence, that they could outsource their core competency. I'm not talking about a remote developer, or a virtual development team. I'm talking about companies that believed they could hire a consultant or a code shop who would build their product for them. After all building the product is the easy part. It's the idea that's the hard part. Or selling it that's the hard part. Here's a tip: it's all hard.

There's a simple, important question you have to ask when deciding what you must do and what you can outsource. What is your core competency? What is the thing which is essential to your value proposition? What is the unique value that you provide that your competitors don't? Who are you?

You can't outsource whatever it is that defines you. It's not possible that your unique value proposition can just be put together from off-the-shelf components by a rent-a-coder shop. If it were possible, then your unique value isn't very unique, is it? And if you actually pay a lot for consultants to build you something truly custom, what happens to all the lessons learned during development? If there aren't a lot of lessons learned, chances are the product wasn't developed correctly. You need to own that knowledge -- it's essential for you to grow as a company.

I'm not saying that you can't ever outsource software or software development. For example, I've outsourced the software that powers my blogs -- they're built on Blogger. But, the value of my blogs is in my content, not the code that runs on the server. By using Blogger, I can concentrate on my blogs' unique value -- my unique content. But I'm not about to outsource software development when I'm building a software company.