Other Life Cycle Models
The incremental model
The Incremental life cycle model
The incremental model allows different parts of the system to be developed separately, each with its own life cycle iteration. Each iteration includes a requirements analysis, design, implementation and testing phase. The first iteration usually produces a working version of the system on which subsequent iterations build. The incremental model provides a more flexible and less costly alternative to the waterfall model in which changes to the scope or requirements of the project can be more easily accomodated. Each iteration can be completed relatively quickly, and is easier to manage. Like the waterfall model, however, each phase of each iteration must be completed before the next phase can commence, and the overall system architecture may be poorly defined in the early stages of the project.
The V-shaped model
The V-shaped life cycle model
Like the waterfall model, each phase of the V-Shaped life cycle must be completed before the next phase begins. In this model, however, there is much more emphasis on testing. Test procedures are developed early in the life cycle. System testing is designed to assess whether the requirements determined during the requirements analysis phase have been met. Integration testing is developed during the high-level design phase, which focuses on the overall system architecture, and unit testing is planned to assess the success of the low-level design phase, which concentrates on individual system components. Life cycle execution proceeds down the left-hand side of the V, and at the same time the test plan for each phase is developed. Once the implementation phase has been completed, execution proceeds up the right hand side of the V, and the test plan for each phase is completed in turn.
Like the waterfall model, the V-shaped model is easily understood and has well defined phases with specific deliverables. The chances of success are probably higher than for the waterfall model due to the development of test plans early in the cycle, especially where projects are relatively small and the requirements are well understood. This model lacks the flexibility of the incremental model however, with no intermediate prototypes produced. The model does not specify what course of action should be taken if significant problems emerge during the testing phases.
The spiral model
The spiral life cycle model
The spiral model is similar in many ways to the incremental model, with more emphasis on risk analysis. The project passes repeatedly through the four phases of planning, risk analysis, development and evaluation. System requirements are gathered during the planning phase and alternative solutions are generated. The risk analysis phase identifies the risk associated with each alternative solution (for example, the likelihood of a cost overrun or prohibitive operating costs). The development phase results in a prototype, which is then thoroughly evaluated in the evaluation stage before the next iteration of the spiral is undertaken. The cycle continues its iterations until the evaluation phase determines that the system requirements have been met in full (or until an unacceptable level of risk forces the project to be terminated).
The cost of the project increases as the spiral goes through successive iterations. The high degree of risk analysis and the production of a prototype system early in the life cycle makes this a good option for large and complex projects, although it can be potentially costly, and the level of expertise required for the critical risk analysis phase means that it is not really suited to smaller projects.