The body of methods, rules, postulates, procedures, and processes that are used to
manage a software engineering project are collectively referred to as a methodology.
There are two well-known software engineering methodologies commonly used
in practice today. The two methodologies, informally known as the waterfall and
spiral methodologies, are characterized by the grouping of tasks as either sequential
or cyclical. Both of these methodologies organize some tasks very well, but have a
narrow focus, so that crucial aspects of one methodology are missed by the other
This thesis defines the WaterSluice methodology. The WaterSluice borrows the
iterative nature of the cyclical methodology along with the steady progression of the
sequential methodology. In addition, the tasks in the WaterSluice are prioritized such
that the most beneficial, non-conflicting tasks are accomplished first. A collection of
theorems is presented establishing the strengths and weaknesses of the WaterSluice as
compared to the sequential and cyclical methodologies. The WaterSluice methodology
represents a more accurate rendering of current software engineering practices. In this
sense, the WaterSluice is not new but merely represents a concise description of the
state of the art.