Waterfall Model
Advantages of the Waterfall Model:
Waterfall model uses a clear structure.
The waterfall model's evolution is simple to understand.
The waterfall approach establishes the end goal early in the process.
When compared to other approaches, it conveys information more effectively.
The waterfall model limits the duration of a project.
Disadvantages of the Waterfall Model:
The waterfall model does not allow for adjustments to be made.
It has the potential to invalidate any past effort you've done.
End-users and clients are not included in this strategy.
It postpones testing until after the project is completed.
Longer delivery periods are possible with the waterfall paradigm.
When to use:
The model is used when the requirements are well known, clear and fixed.
The project is large.
Also used when working on an experienced project.
V-Model
Advantages of V-Model:
It's simple and easy to use.
The model has applicability in situations where requirements are well defined and stable.
Testing tasks like as planning and developing tests take place prior to coding.
Quick and saves time
As a result, the waterfall model has a better probability of succeeding.
Disadvantages of V-Model:
Very strict.
The least adaptable.
Because software is developed during the implementation phase, no early prototypes are created.
If any modifications occur in the middle of the project, the test documents, as well as the
requirement documents, must be updated.
V-Model is risky.
When to use:
The project is short and the technology is understood.
The product definition is clear.
When need to describe the development of the system and its subsystems.
Incremental Model
Advantages of Incremental model:
More flexible in working and addition of new functionality
Less costly to change scope and requirements
Easier to test and debug during a smaller iteration
High customer interaction with review and feedback to each build
Generates working software quickly and early during the software life cycle
Disadvantages of Incremental model:
Needs good planning and design.
Needs a clear and complete definition of the whole system before start design
Functionality divination takes more time
Total cost is higher than waterfall model.
It requires more customer involvement than the other linear approaches .
When to use:
When the requirements are superior.
A project has a lengthy development schedule.
When the customer demands a quick release of the product.
Prototyping Model
Advantages of prototyping model:
The users are actively involved in the creation of the product.
Because a functioning model of the system is provided as part of this process, users gain
a better knowledge of the system being developed.
Errors can be identified considerably earlier in the process.
User feedback is provided more quickly, resulting in better solutions.
It's simple to spot missing functionality.
Disadvantages of Incremental model:
This type is quite pricey.
Because of the constantly changing customer needs, it has weak documentation.
There may be an excessive amount of variety in requirements.
After witnessing an early prototype, customers may demand that the final product be
supplied as quickly as possible.
Difficulty in time management.
When to use:
When the requirements of the product are not clearly understood or are unstable.
It is used if requirements are changing quickly.
When the project needs to be tested and refined as per customer feedback.
Spiral Model
Advantages of spiral model:
As a result of the extensive risk analysis, risk avoidance is improved.
It's ideal for big, mission-critical projects.
Controlled permission and documentation.
At a later time, further functionality can be introduced.
Early in the software life cycle, software is created.
Disadvantages of Incremental model
It's possible that using this model will be pricey.
Risk analysis necessitates a high level of skill.
The risk analysis step is critical to the project's success.
Smaller tasks are not well served by this method.
End of the project may not be known early.
When to use:
Used for large, expensive and complicated projects.
When there is a budget constraint and risk evaluation.
Significant changes are expected in the product during the development cycle.