Waterfall Model <programming> A {software life-cycle} or {product life-cycle} model, described by W. W. Royce in 1970, in which development is supposed to proceed linearly through the phases of {requirements analysis}, design, implementation, testing (validation), integration and maintenance. The Waterfall Model is considered old-fashioned or simplistic by proponents of {object-oriented design} which often uses the {spiral model} instead. Earlier phases are sometimes called "upstream" and later ones "downstream". Compare: {iterative model}. [W. W. Royce, "Managing the Development of Large Software Systems", Proceedings of IEEE WESCON, August 1970]. (1997-11-23)