Author and entrepreneur Eric Ries unpacks the difference between waterfall and agile product development theories, and outlines when each are best employed. Waterfall - the linear path of product build-out - is best used when the problem and its solutions are well-understood. However, its hazard is that it can also lead to tremendous investment without guarantee of its success. Agile development, on the other hand, is a less-risky model of what can happen when the product changes with frequent user feedback and minimal waste. Without an authoritative solution clearly in sight, which is often the case of the startup, agile programming allows the growing enterprise to build-out quickly and correct itself often.