The Different Software Development Models – Part 1
The software development model describes the various phases of the process and the sequence in which they will occur.
The success of any software project depends in large on the methodology or process that the project follows. There are several Software models that projects may choose to follow.
This model is decided based on the type or complexity of the product architecture.
The Seven Software Development Models Are As Follows:
1.The Waterfall model
2.The V model
3.The Incremental model
4.The RAD model
5.The Agile model
6.The Iterative model
7.The Spiral model
Let us understand the stages and the sequence of process flow for each of the above mentioned models.
1) The Waterfall Model:
One of the earliest models used is the waterfall method. It was also one of the most prominently used models. In this model, all the stages of development follow one after the other. They do not extend into one another; each has to complete fully for the next to start.
The Stages In The Waterfall Method Are:
1.Requirements gathering phase
5.Deployment or Release phase
6.And the maintenance phase
The Waterfall Model Is Chosen When:
The project is very simple and well understood.
You have worked on similar projects and have the expertise in handling them.
The scope of work is not expected to change.
Resources are not shared amongst other projects, that is, you have dedicated resources with the required expertise.
Pros And Cons Of Using The Waterfall Model :
Very simple to use.
Does not require hiring a PMO to manage the project.
Works well on small and fixed scope projects.
Does not help in cutting short, long projects.
Cannot be used for projects with unfixed or variable scope.
An un-thought of change done in a later stage of development proves to be very expensive.
A working version of the project cannot be seen till the testing stage is reached.
2) The V Model:
The V Model is similar to the waterfall method, In this model too, each of the phases occur sequentially; one after the other. One phase has to complete before the next can start. This model is also called as the Validation and verification phase. The model is in the shape of a V, with one arm of the V having all the Validation phases and the other having all the Verification phases. Both these arms are connected with the “coding” phase.
The Various Phases Of The V Model Are:
Requirements Phase : The SRS is created as a part of the validation arm, and the corresponding Systems test plan is created in the verification arm.
Design Phase : The HLD and LLD design docs are created in this phase on the validation arm, in parallel the Integration test plan is created on the other arm of verification.
Implementation Phase : Coding is done in this phase, once coding is completed the project moves on the other side of the V and now the test plans created earlier are put to use.
Coding Phase : Developers understand the design documents and start coding in this phase.
This model is successful when the projects are relatively simple and technical expertise is available.
Pros And Cons Of The V Model:
Simple to use.
Chances of finding a change request come earlier in the life cycle, hence reducing costs.
Defects in design are also caught early.
Should be used only for well understood and simple projects.
Product prototypes can be created or presented only later in the life cycle.
3) The Incremental Model:
In the incremental model, the product is built gradually. The product is split into modules and each module is developed one by one. Each module goes through the waterfall model; each having its own design, development and testing phases. This model has multiple Waterfall methods.
This Model Is Used When:
The technology to be used is relatively new.
Technical expertise is not easily available.
The product has to be introduced in the market quickly.
The requirements are complex and changes in them are foreseen.
Pros And Cons Of The Incremental Model:
Product prototype can be built and released early.
Scope and requirements can be altered with lesser overheads.
Technical expertise can be created while the project is in progress.
Costlier than the waterfall method.
Architects have to be strong to understand the bigger picture and then break it into smaller modules.