Update (Sept 2014): I gave a talk on this topic during lecture 1 of Stanford's CS 183B course. Check out Update (Apr 2017: A new version of the talk for the 2017 version of the course: How and Why to Start A Startup - Sam Altman & Dustin Moskovitz - CS183F .