Waterfall Process vs. Incremental Process

Read this article, which compares the two broad processes for developing software. Then, select one of the methodologies (SDLC, RAD, Agile, Lean) you read about in Chapter 10 and do further research on the state of the art for that particular methodology. Write a four-six paragraph essay that describes the methodology you chose, your research findings, and the types of projects that use that methodology.

Incremental process


An incremental process is one where we will deliver portions of the software in the smallest reasonable subsets of the ultimate functionality. We will have multiple deliveries to our customer. We will revisit the assumptions and prioritizations for each "next" delivery when we complete each "previous" delivery.

A sailing analogy works well for this approach. To sail in a straight line from start to finish, we set a heading, H1, and begin sailing. After a period of time, we check to see where we are (invariably, we've drifted off course a little), correct our course and set a new heading, H2, and continue sailing. We keep doing this (checking position, adjusting heading, sailing some more) incrementally until we reach our destination.

With incremental software development, we do the same thing as when sailing. First we decide on what to do and what to do first. Then we develop and deliver the first set of functionality. We then revisit our decisions (including getting feedback on what we've just delivered) and decide what to do next. We then develop and deliver the next set of functionality. We repeat until all of the desired functionality has been delivered.