Lately, most academics, including successful entrepreneur and my former professor Steve Blank, believe in a concept called lean start-up. Lean start-up is where you start a company without trying to have all the functionality completely designed i.e. it is the concept of creating a very simple prototype rather than a product with all the proverbial bells and whistles . This saves the entrepreneur from spending millions of dollars on a product launched in the far out future only to discover that the customer wanted something different, causing the entrepreneur to start all over again.
After a rough prototype is built, the entrepreneur is supposed to iterate with the customer to get the product to match what the customer is willing to pay for.
Lean start-up is a sound concept but iterating with customers is more suited to B-to-C (Business-to-Consumer) businesses. For example, imagine starting a military weapon company. Iterating with the U.S. government on prodcut development is clearly more difficult.
Most ventures have one major iteration before becoming a viable business model. In fact, I once met a VC who had turned me down for funding the year before. I liked her so I wanted to get her advice on a few things the following year [VCs are well connected and know the technology landscape so well, it is always good to pick the brain of VC as much as they try to pick your brain]. Anyway, I told her that my company had undergone a major change and I needed her thoughts on a few things. Even though I was not actively seeking an investment from her company, she said that she was interested in doing so. I asked why now and she replied that her firm only invested in companies that had undergone a major iteration.