Prototyping Model and Spiral Model
The waterfall model fails when the changes occur in the customer requirement late in the development life cycle. The change may occur from customer end or gap in understanding the customer requirement by team.
To counter this problem, the prototyping model comes into picture. In Prototyping model, the sample is implemented first covering main functionalities of the system. A prototype is built and delivered to the customer that allows customer to have brief look of the final software. The customer gives his feedback and based on his feedback is new prototype is developed and evaluated by customer. This cycle continues until all the requirements of the customer are understood and requirement gathering ceases.
The spiral model of software development combines the elements of waterfall and prototyping model. The development activities are organized in many cycles in form of spiral. It has four phases:
- Requirement Identification: This phase starts with gathering the business requirements in the baseline spiral. In the subsequent spirals as the product matures, identification of system requirements, subsystem requirements and unit requirements are all done in this phase.
- Design: This phase involves architectural design, logical design of modules, physical product design and final design in the subsequent spirals.
- Implementation: It refers to production of the actual software product at every spiral.
- Evaluation and Risk Analysis: It includes identifying, estimating, and monitoring technical feasibility and management risks, such as schedule slippage and cost overrun. After testing the software, at the end of first iteration, the customer evaluates the software and provides feedback. Based on the customer evaluation, software development process enters into the next iteration.
The process of iterations along the spiral continues throughout the life of the software.