But I will argue that knowing complete product requirements up front is a quite rare exception, not the norm.
Fred BrooksThe management question, therefore, is not whether to build a pilot system and throw it away. You will do that. Hence plan to throw one away; you will, anyhow.
Fred BrooksThe hardest single part of building a software system is deciding precisely what to build.
Fred Brooks