A number of different models such as:
2. Clean room
4. RAD or rapid application development
5. RUP or rational unified process
10. V model
11. TDD or test driven development, and maybe others,
have been developed for increasing the efficiency of the software development process. As you see from the list above, the spiral model is also one of them. This article is focussed entirely up on the spiral model of software development and its advantages and disadvantages.
The spiral model of software development is a result of the combination of prototyping in stages as well as the design in stages. This model has been developed to get a model with the combined advantages of both the approaches namely:
1. Top down approach and
2. Bottom up approach
Another name by which this model is commonly known as is “the spiral life cycle model” and it has been named so because it implements the spiral development process. The spiral model is considered to be a systems development method or SDM and mostly finds its use in the industry of information technology or IT. This model also has some of the features of the water-fall model of software development incorporated in to it. Spiral model of software development has been designed for projects which are quite large, complicated and expensive. Many a times the spiral model of software development is confused with the helical model at first glance; although there is a considerable difference between them, such as the helical model making use of the dynamic programming approach. This approach is followed for the optimization of the architecture of the software system before decisions regarding the design are taken since they may cause problem.
This spiral model came in to existence in the year of 1986 designed by Barry Boehm although this model was not the first to take into consideration iterative development type of development methodology. The spiral model of software development as mentioned above combines the features of water-fall model of software development with the iterative development or prototyping as it is more commonly known as. The spiral model of software development has facilitated the ease of incremental release of the software product and also the incremental refinement of the software system or application. The spiral model of software development is also popular since it includes the explicit risk management within the scopes of the software development. It also provides benefits in terms of the following mentioned aspects:
1. Identification of the major risks whether be it managerial or technical.
2. Determination of the factors leading to the lessening of the risks.
All these added advantages help in maintaining a control over the software development process. The spiral model involves the substantial refinement of all the key products one by one for the following purposes:
1. Requirements definition and analysis
2. System designing
3. Software designing
4. Implementation of the code.
The key products are treated as the extension of an earlier product in each of the iteration of every cycle. This model makes use of almost the same phases of the development as mentioned below:
7. Deployment, and lastly
The additional phases are:
2. Risk assessment
3. Building of prototypes
4. Creation of simulations
Like any other process, each and every phase of the spiral model is documented. The creation of the documentation keeps on going side by side the development process. A continuous stream of produced products is made available to the user to review.
Disadvantages of the spiral development process:
1. Highly customized
2. Limited reusability
3. Different applying method for every software system or application
4. Budget related risks.
|Agile and Iterative Development||Software Development Using Scrum||Agile Estimating and Planning|