But in most cases an incremental development is better, because it allows the developers to get early feedback on their design work, assess the value of the work already deployed, and handle misfits as they are discovered. So it’s useful to think about designing a new software product as growing it, a few concepts at a time.