Once upon a time, nearly all software development projects utilized the waterfall model. Much like the assembly line in a factory, this programming methodology requires developers to complete one phase of development before moving on to the next. It's highly structured and doesn't work well when the project requirements are in flux.
In recent years, developers have begun favoring more iterative processes that make it easier to accommodate changes in the project scope and requirements. Agile software development and its seemingly infinite number of variations have become increasingly common and, according to some surveys, now dominate.
In this slideshow, we'll take a look at the features of ten of the most popular software development methodologies, including agile, Scrum, lean, extreme programming and, yes, even the waterfall method.
These programming methodologies aim to improve productivity, code quality and collaboration.