Both iterative and incremental models belong to the software life cycle model developed in parallel, but these two models are often confusing or hard to understand. Next we will introduce the differences and similarities between the two models.
Iteration cannot be parallel. Iteration parallelism refers to iteration tasks. For example, from 3.1 to 3.31 is an iteration plan. The iteration plan requirement personnel can analyze Function Points 5 to function points 10, the designer can design the Function Point 3-Function Point 7. The developer can develop the Function Point 2-Function Point 4. The tester can do the Code released in the previous iteration cycle. Iterative parallelism refers to the parallelism of workflows.
As you can see, the iteration plan is complex and therefore requires a high level of experience from the project manager.
An incremental model generally refers to a project with an underlying framework and platform to develop and add specific business functions on this stable framework and platform. Each increment is relatively independent, and each increment can be developed in parallel. For example, incremental 1 (including 5 Function Points) is implemented between 3.1 and 31 ), 3.20-4.15 development increment 2 (including four other function points ). The increment is the waterfall model.
The difference between the two types is that iteration is based on the architecture of IBM's RUP, the use case is the driving, and the roles and responsibilities are different, at the same time, the project's internal requirements, design, coding, and testing activities are all happening. Iterations are suitable for projects with unclear requirements and high architecture risks. incremental applications have clear requirements, stable architectures, and the implementation of incremental functions does not affect the architecture.
Another difference is that iteration plans are role-based and incremental plans are Task-based.
There are two types of similarities. Each iteration and increment are released.
A quick prototype is also called a prototype,It is another form of Incremental Model.Before developing a real system, it constructs a prototype and gradually completes the development of the entire system based on the prototype.