The biggest problem we face in the waterfall model is that taking a long duration to complete the product, and the software became outdated. To solve this problem, we have a new approach, which is known as the Spiral model. The spiral model is also known as the cyclic model.
In this model, we create the application module by module and handed over to the customer so that they can start using the application at a very early stage. And we prepare this model only when the module is dependent on each other. In this model, we develop the application in the stages because sometimes the client gives the requirements in between the process.
The different phases of the spiral model are as follows:
The spiral model process starts with collecting business needs. In this, the following spirals will include the documentation of system requirements, unit requirements, and the subsystem needs. In this stage, we can easily understand the system requirements because the business analyst and the client have constant communication. And once the cycle is completed, the application will be deployed in the market.
The second stage of the spiral model is designed, where we will plan the logical design, architectural design, flow charts, decision tree, and so on.
After the compilation of the design stage, we will move to our next step, which is the coding stage. In this, we will develop the product based on the client's requirement and getting the client's feedback as well. This stage refers to the construction of the real application in every cycle.
And those spirals had an excellent clarity of the requirements, and the design details of an application are known as the build with having version numbers. After that, these builds are transferred to the client for their responses.
Testing and Risk Analysis
Once the development is completed successfully, we will test the build at the end of the first cycle and also analyze the risk of the software on the different aspects such as managing risks, detecting, and observing the technical feasibility. And after that, the client will test the application and give feedback.
Example of the Spiral model
Let us see one example for a better understanding of the spiral model:
In the spiral model, the software is developed in the small modules. Suppose we have the application A and this A application is created with the help of different models as P, Q, R.
In the above image,
RP: the requirement analysis of module P, similarly with RQ, RR.
DP: Design of module P, and similarly with DQ, DR.
CP: Coding of module P, and similarly CQ, CR.
TP: Testing of module P, and similarly TQ, TR.
|Flexible changes are allowed in spiral model.||It is not suitable for the small and low-risk product because it could be costly for a smaller project.|
|The development can be distributed into smaller parts.||It is a traditional model, and thus developers only did the testing job as well.|
|The customer can use the application at an early stage also.||There is no requirement of review process and no parallel deliverables allowed in the spiral model.|
|More clarity for Developers and Test engineers||In the spiral model, management is a bit difficult; that's why it is a complex process.|
|It will provide the wide use of prototypes.||The maximum number of intermediate phases needs unnecessary paperwork.|