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:
- Requirement analysis
- Design
- Coding
- Testing and risk analysis
Requirement Analysis
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.
Design
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.
Coding
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.
- In the P module, we get the requirement first, and then only we design the module. And the coding part of module A is done when it is tested for bugs.
- The next module is Q, and it has been created when the module P has been built. We follow the same process as we did in module P, but when we start testing the module Q, and we check the following condition such as:
- Test the Q module
- The test integration of module Q with P
- Test module P
- After creating the module P, Q, we will proceed to the module R, where we will then follow the same process as module P and Q, and then test the following conditions:
- First, check the module as R, Q, and P
- Then, check the integration of module in the below order:
R → Q, R and P → P and Q
The best-suited example for the spiral model is MS-Excel because MS-Excel sheet having several cells, which are the components of an excel sheet. Since we have to create the cells first (module P), then we can perform operation on the cells like split cells into half (module Q), merge cells into two, and then we can draw graphs on the excel-sheet (module R).
In the spiral model, we can perform two types of changes, which are as follows:
- Major changes
- Minor changes
Major Changes
When the customer request for the major changes in the requirements for the particular module, then we change only that module and perform testing for both integration and unit. And for this, we always prefer one new cycle because it may affect the existing modules. Major changes could be the functionality of the software.
Minor changes
Whenever the client request for the minor changes in the particular application, then the software team makes the smaller changes along with the new module has to be developed simultaneously in a single cycle. And we never go for any new cycle or iteration because a minor variation does not affect the existing functionality, and it also takes the extra resource and time. The minor changes could be UI (frontend changes).
Advantage and disadvantage of the spiral model
Advantage |
Disadvantage |
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. |
0 Comments