Great article! Some asides on MVP, inspired by this line:<p><i>[Marketing is] everything- product, price, placement, and promotion. Start thinking about these things before you launch, learn from them, and iterate quickly before wasting a lot of time and money.</i><p>Since "product" is part of "marketing", it would be nice to include it in the iterative cycle. Instead of working it out <i>before</i> launch, launch prematurely, and work out the product simultaneously with the rest of the marketing. That is, "release early, release often", and iterate the whole thing. This helps for those products that you didn't know you needed until you saw it. It worked for me for a software library; I haven't tried it with an application.<p>Reflection: the idea of "assessing the market first" is waterfall-style, even though it is agile-style <i>within</i> that stage. The idea of "pivoting" attempts to incorporate an iteration, but at a much longer time-scale. It would seem better to be even more agile, by assessing the market <i>with</i> the product within each iteration, and pivoting within each iteration. This would need instant prototyping; and rapid feature changes (for pivots). One obstacle is that software takes too long to build, and too long to adapt. Consider: if you could make a prototype as easily and as quickly as a webpage to gather email addresses, wouldn't it be better to do that? If you could create different feature sets that would appeal to different markets as quickly and easily as making different landing pages, wouldn't that be better? Like "A/B testing for products".<p>Sounds like a hacker-philosopher's stone? While we can't eliminate essential complexity, only accidental complexity (by Brooks) and so it's hard to make much progress in this for general programming, for the subset of programming which is SaaS websites, we have already made great progress, with frameworks, RoR, AppEngine etc. It could be made much easier, if we focussed on the goal of an initial prototype, where bugs and lack of features don't matter, <i>provided</i> you get feedback on them (eg: have a "search for help" facility, and store the searches). Then, you can iterate and change direction quickly. The task is to seek traction. You don't need to hit it perfectly (like the iPhone), but just to get a nibble, and then you adjust. At first, you just want to know where the fish are.<p>Of course, product features are only part of marketing, and you also need to iterate quickly on graphic design, copywriting, adwords and so on. And pivoting may be intrinsically slow, because it takes time for your message to diffuse, be trialled, be adopted, word of mouth etc - though twitter, facebook etc may also speed this up too.