The next traditional method of software development I will look at is the Spiral Model. The Spiral Model is a type of iterative software development model which is generally implemented in high risk projects. The Spiral Model has four main phases: Planning; Risk Analysis; Engineering and Evaluation.
The objectives, alternatives, constraints and requirements of the project are determined in this stage. Thise stage is the baseline for the entire project and the remaining three stages build upon what was determined in the planning stage
In this stage the developers try to find which other approaches can be implemented in order to fulfill the identified constraints. The risks associated with every alternative are analysed. A prototype is produced at the end of the risk analysis phase.
The product is developed and verified in this stage. Software is also produced in the engineering stage, along with testing at the end of the phase.
The evaluation phase allows the customer to evaluate the output of the project to date before the project continues to the next spiral.
1) Spiral Life Cycle Model is one of the most flexible SDLC models in place. Development phases can be determined by the project manager, according to the complexity of the project.
2) Project monitoring is very easy and effective. Each phase, as well as each loop, requires a review from concerned people. This makes the model more transparent.
3) Risk management is one of the in-built features of the model, which makes it extra attractive compared to other models.
4) Changes can be introduced later in the life cycle as well. And coping with these changes isn’t a very big headache for the project manager.
5) Project estimates in terms of schedule, cost etc become more and more realistic as the project moves forward and loops in spiral get completed.
6) It is suitable for high risk projects, where business needs may be unstable.
7) A highly customized product can be developed using this.
1) Cost involved in this model is usually high.
2) It is a complicated approach especially for projects with a clear SRS.
3) Skills required, to evaluate and review project from time to time, need expertise.
4) Rules and protocols should be followed properly to effectively implement this model. Doing so, through-out the span of project is tough.
5) Due to various customizations allowed from the client, using the same prototype in other projects, in future, is difficult.
6) It is not suitable for low risk projects.
7) Meeting budgetary and scheduling requirements is tough if this development process is followed.
8) Amount of documentation required in intermediate stages makes management of project very complex affair.