Approaches to Starting a Company

Starting a company can be done in one of two ways. You can start with a product or service and then go and look for a market, or you can start by understanding the customer problem, then design the solution around what the customer requires.
Both of these have certain advantages and disadvantages.  Ideally you want to first understand if there is a market before you spend a lot of money marketing and selling to that market.