ABSTRACT

This chapter describes the Waterfall and Agile software development methodologies for readers who have never come across these terms before or whose exposure to one or both is limited. Management of Waterfall is predicated on the assumption that the inputs and the processes can be fixed and controlled. Waterfall is supported by all parametric estimating tools and has more valid benchmark data than any other methodology. The main criticism of Waterfall, which seems to be justified, is that Waterfall tries to accomplish too much too soon, such as the development of full requirements before starting design. Agile is partly an evolutionary method based on iterative development and partly a new approach based on the famous "Agile manifesto". Communication is valued very highly within Agile and ideally Scrum teams that are co-located. Management of Scrum is different from the classical project planning, monitoring, and reporting associated with Waterfall in that the teams are required to be self-organizing.