A Comparative Study of Iterative Prototyping vs. Waterfall Process Applied To Small and Medium Sized Software Projects
Eduardo Málaga Chocano · 2004
After Royce introduced the Waterfall model in 1970, several approaches looking to provide the software development process with a formal framework have been elaborated and tested. While some of these followed the sequential line of thought presented by Royce and Boehm, other methodologies have suggested the use of iterations since early stages of the lifecycle as a mean to introduce feedback and gain understanding. This thesis takes a look at both types of approaches in an attempt to identify their strengths and weaknesses and based on this build criteria to recommend a particular approach or approach’s elements for a given a set of conditions. Literary research and interviews with experienced project managers were conducted to identify software development issues and understand how these can be better addressed by the use of development methodology. Based upon this research a system dynamics model was developed. This model was used to simulate the effects that different approaches might have on a software project under similar and different situations. Analysis of the data suggests that, under certain conditions, iterative approaches are more effective to increase productivity due to learning and therefore more likely to finish earlier. They also promote a better distribution of time diminishing developers’ idle time. On the other hand, sensitivity analysis shows that sequential approaches are more stable in terms of duration and quality and therefore a less risky option when initial conditions are uncertain. Thesis Supervisor: Olivier de Weck Robert N. Noyce Career Development Professor Assistant Professor of Aeronautics & Astronautics and Engineering Systems