The Wizard of Oz Approach
by Jared Friedman

Dear YC,

The product I'm building combines a variety of technologies like Hadoop and NLP, which I haven't really worked with before. After an initial research phase where I learn and experiment, this technology would then have to be commercialized and added into my existing product.

Any suggestions on staying on track, time, and budget? How should I keep the project focused?

Sincerely,

Aspiring Fast Learner


Dear Aspiring Fast Learner,

We're glad you asked, because startups with a greater technical investment upfront have extra challenges with staying focused on measurable progress.

Before you go too deeply down the path of Hadoop and NLP, one question to ask yourself is whether you have to build the hard technology parts of the company before you can test it with customers. Many YC companies have had luck with a "Wizard of Oz" approach. Here's how it works.

Build a prototype of your product, but have a human do the things you planned to do with fancy algorithms. You can be the human, or you could find a friend to be the "Wizard of Oz" behind the curtain. When you go around and show the product to customers, they'll assume it's automated and you can see whether you're building something that they find useful. If it is, you can always build the algorithms to replace the humans.

In some cases this isn't possible. If it's not, then ask yourself what is the minimum work you need to do to get to a product you can test with customers. For example, maybe you can make the algorithms work well for a narrow set of users, rather than solving the general case.

Once you know the minimum work, try to break it down into discrete steps, as many as possible. Your estimate of the time for the project will be more accurate if you evaluate each step and then add them up, rather than trying to estimate the whole thing at once. Having discrete steps with time estimates allows you to have checkpoints throughout the project so you can see if you are falling behind expectations. Tracking measurable progress frequently is the best way to stay on budget.

You mentioned that you'd be working in NLP and Hadoop, which are both new to you. Fortunately a lot of people are experts in those areas and would probably be happy to help you. While they won't do the project for you for free, they can point you in the right direction and help you avoid costly mistakes.

--Jared Friedman