The Lean Startup
Small batch sizes seem counter intuitive. Why would you want to incur the cost of constant context switching? It seems more efficient to repeat the same step multiple times until a large batch is ready to move on.
Small batches allow you to catch defects and learn lessons early in the process. The large batch approach would require you to put out hundreds or even thousands of defected or unwanted features. With a small batch, you get feedback from the first product completed. This feed back can be used to change your product or to optimize the overall production process. Focusing on the whole process produces more efficiency gains than focusing on optimizing only a single step.
Working in small batches also focuses your efforts. Instead of having large Work in Progress (WIP) ques of generic feature, you have small WIPs of exactly what you need. This means every feature you put out will be meaningful. Let your hypothesis and your clients pull the features that you deliver. Take every release as an opportunity to learn the impacts of what you create.
Don’t push endless feature lists onto your teams and customers. The only thing you will accomplish with a push mentality is landing all your eggs in one basket. One release that could ruin you if it goes wrong, and chances are that at least part of it will. Failure should not spell disaster, it should be just a bump on the road to success.