Skip to content

Page367

Royce’s paper did not use the term “waterfall,” but he described the process. An unmodified waterfall does not allow iteration: going back to previous steps. This places a heavy planning burden on the earlier steps. Also, since each subsequent step cannot begin until the previous step ends, any delays in earlier steps cascade through to the later steps.

Ironically, Royce’s paper was a criticism of the model. Regarding the model shown in Fig. 9.2, “the implementation described above is risky and invites failure” [7]. In the real world, iteration is required: it is not (usually) realistic to prohibit a return to previous steps. Royce raised the issue of discovering a fundamental design error during the testing phase: “The testing phase which occurs at the end of the development cycle is the first event for which timing, storage, input/output transfers, etc., are experienced as distinguished from analyzed. These phenomena are not precisely analyzable … Yet if these phenomena fail to satisfy the various external constraints, then invariably a major redesign is required” [7]. Many subsequent software design models are called iterative models: they are explicitly designed to allow iteration, a return to previous steps.

Exam Warning

The specific names of the phases of Royce’s unmodified Waterfall Model are not testable: learn the overall flow. Also, Royce omitted a critical final step: destruction. No development process that leads to an operational system with sensitive production data is truly complete until that system has been retired, the data archived, and the remaining data on those physical systems securely destroyed.

Royce described a modified waterfall model that allowed a return to a previous phase for verification or validation, ideally confined to connecting steps. Barry Boehm’s paper “A Spiral Model of Software Development and Enhancement” (see the “Spiral” section below) shows a modified waterfall based on Royce’s paper, shown in Fig. 9.3.

Fig. 9.3 Modified waterfall development model [8].

Note

The unmodified Waterfall Model does not allow going back. The modified Waterfall Model allows going back at least one step.