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.
This thesis defines the WaterSluice software engineering methodology. The WaterSluice borrows the iterative nature of the cyclical methodology, more commonly known as the spiral methodology, along with the steady progression of the sequential methodology, more commonly known as the waterfall 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 methodology as compared to the sequential and cyclical methodologies.
This thesis builds a foundation for the study of software engineering methodologies and then categorizes the conditions under which one software engineering methodology will be preferred over another software engineering methodology. Predicted performance characteristics for several major classes of software engineering methodologies under a variety of conditions are presented.
The thesis concludes that a software engineering methodology that is goal focused, manages conflicts, and differentiates between different priorities is best suited for dynamic non-monotonic environments.