One definition of engineering is solving a problem using tools and processes within constraints. These constraints are numerous: they can include expenses, people, laws, physical laws, knowledge, and the list goes on. As a general rule, constraints are good, since they help to hone the mind on what is necessary rather than what is desirable. One of the largest take-aways from my research on the history of Stanford's Computer Science department was that its limited resources compared to MIT and CMU forced it be much more adaptive and innovative.
This is one of the reasons why start-up companies can topple mega-corporations with such limited resources. When you have 2-3 people and no money, you just can't put time on things that really don't matter. The focus is on the low-hanging fruit that takes the least time to develop with the least number of resources for the biggest gain in the user experience. By focusing on the essence, start-ups are able to build the kernel correctly -- and with some luck, all else follows.
This partially explains the success of Eric Ries' Lean Start-up model, which focuses on releasing early, iterating fast, and making sure a company is highly adaptable. This model is at the heart of YCombinator and almost all of the start-up advice that one receives in Silicon Valley in today's environment.
However, its dominance has become pernicious, because it hides a very important dilemma that faces all start-ups: there is a spectrum between anarchy and planning in building a business. What do I mean by this? Each point on this spectrum offers a range of businesses to start. On the anarchy side for instance, you have social networks and other web applications that emphasize the user experience as their main selling point. Here, data-driven design is a major component of building a business, so being able to change code and ship it fast is of crucial importance.
But, not all businesses can fit into the anarchy side of the spectrum. On the planning side, you have a lot more business-to-business (B2B) companies available to start. These companies often have higher start-up costs since there is more work to be done before a minimally viable product can be produced. There are significantly more requirements on the product, so planning must take precedence in the product design.
Every new company has to pick a point on this anarchy-planning spectrum, and this choice does not usually change over the life course of the company. Google still continues to solve large problems over long periods of time, while Facebook continues to focus on fast iteration. This is why Google has a difficult time building a social network, and Facebook has a difficult time building a phone. This is why Instagram fits with Facebook and autonomous cars are being built by Google. The companies are tuned to a certain development pattern on the anarchy-planning spectrum, and the entire corporate culture is built around that point.
The danger today in Silicon Valley has been the almost exclusive focus by the media and bloggers on businesses on the anarchy side of the spectrum. While there are certainly good ideas that will come out of there, there is even more diversity to be found outside. One of the reasons for SpaceX's popularity is that the media seems to so rarely cover bold companies that plan and build products for longer than 3 months.
The Lean Start-up model has become more than a way to start companies -- it is a way of organizing life. It certainly is not wrong in many of its prescriptions, but we have to be weary of narrowing our vision to companies that fit one model of development. There is a fundamental dilemma between planning and anarchy, and picking the right point for your business is far more important than following the model in vogue today.