model, his intended improvement upon his initial "waterfall model", illustrated that feedback could (should, and often would) lead from code testing to design (as testing of code uncovered flaws in the design) and from design back to requirements specification (as design problems may necessitate the removal of conflicting or otherwise unsatisfiable/undesignable requirements). In the same paper Royce also advocated large quantities of documentation, doing the job "twice if possible" (a sentiment similar to that of Fred Brooks, famous for writing the Mythical Man Month, an influential book in software project management, who advocated planning to "throw one away"), and involving the customer as much as possible (a sentiment similar to that of extreme programming). Royce notes on the final model are: Complete program design before analysis and coding begins Documentation must be current and complete Do the job twice if possible Testing must be planned, controlled, and monitored Involve the customer See also References External links Understanding the pros and cons of the Waterfall Model of software development Project lifecycle models: how they differ and when to use them Going Over the Waterfall with the RUP by Philippe Kruchten CSC and IBM Rational join to deliver C-RUP and support rapid business change c2:WaterFall Software development philosophies Project management Design