In software engineering, the waterfall model describes a development method that is linear and sequential. Waterfall development has distinct goals for each phase of development. Once a phase of development is completed, the development proceeds to the next phase and there is no turning back.
Incremental Development lets you model a variety of development processes. Instead of modeling your software development as if it were a single effort devoted to inventing a single product, Incremental Development lets you model development as a series of concurrent software projects, each yielding an intermediate product.
This strategy reduces your risk, and permits you to deliver an initial product to your customer earlier.
Characteristic features of the incremental development approach as compared to the waterfall life cycle are:
Features are implemented in consecutive steps (increments) by implementation teams.
Each increment is subdivided into activities e.g. module design, coding, code inspection.
During an increment a team can implement one or several features.
Several implementation teams can work in parallel.
In the incremental development environment there is still the need to measure progress, transition criteria, effectiveness and efficiency as in the waterfall environment, i.e. process metrics are still to be applied.