In this article, you will learn what is a spiral model and what are the advantages and disadvantages of this model.
So, let’s start with the spiral model definition:
The spiral model is an evolutionary software process model which is a combination of iterative nature of prototyping and controlled and systematic aspects of the traditional waterfall model.
This model was originally proposed by Boehm. It provides the potential for rapid development of incremental versions of the software.
In this model, software development takes place in a series of developed releases. In the initial stage iterations, the release or model might be a paper model or a prototype. In the later stages, a complete version of the software is produced.
A spiral model is made up of set different framework activities made by the software engineering team. Look at the following spiral model diagram:
The model is divided into some framework activities, also called task regions. Every framework activity represents one section of the spiral path. As the development process starts, the software team performs activities that are indirect by a path around the spiral model in a clockwise direction. It begins at the center of the spiral model.
Typically, there are between three and six task regions. The above figure depicts a spiral model that contains 6 task regions.
Phases of Spiral Model (Tasks Regions)
- Customer communication tasks required establishing effective communication between developer and customer.
- Planning-tasks required defining resources, timelines, and other project related information.
- Risk analysis tasks required to assess both technical and management risks.
- Engineering tasks required building one or more representations of the application.
- Construction and release tasks required to construct, test, install, and provide user support.
- Customer evaluation-tasks required to obtain customer feedback based on an evaluation of the software representations created during the engineering stage and implemented during the installation stage.
Each of the regions is populated by a set of work tasks, called a function set, which is adapted to the characteristics of the project to be undertaken. For small projects, the number of work tasks and their formality is low. For larger, more critical projects, each job region contains more work tasks that are defined to achieve a higher level of formality. In all cases, the umbrella activities, e.g. – software configuration management and software quality assurance are applied.
Advantages of the Spiral Model
A spiral model is a realistic approach to the development of large-scale systems and software. Check out some of its advantages:
1. Estimates (i.e. budget, schedule, etc.) become more realistic as work progresses because more critical issues are discovered earlier.
2. It is more able to cope with the changes that software development entails.
3. Software engineers can get their hands in and start working on a project earlier.
Disadvantages of Spiral Model
With advantages, there are also some disadvantages of the spiral model. Here are some of its disadvantages:
1. Highly customized limiting re-usability.
2. Applied differently for each application.
3. Risk of not meeting, budget or schedule.
The spiral model is mostly used in large projects. The military had adopted the spiral model for its Future Combat Systems program.
The model thus may suit small software applications and not a complicated distributed, interoperable, system of systems.
It is also reasonable to use the spiral model in projects where business goals are unstable but the architecture must be realized well enough to provide high loading and stress ability.
For example, the Spiral Architecture Driven Development is the spiral based Software Development Life Cycle (SDLC) which shows one possible way how to reduce the risk of non-effective architecture with the help of an in conjunction with the best practices from other models.
Spiral Model PPT
Hope you found the information on the spiral model helpful. Contact us for any doubts.
Learn more about different models in software engineering:
Thanks for the information
Rahul Tilloo says
Welcome Dude.. 🙂
Jane Verbilla says
Well it is quite a excellent post.Thank you for writing such an information and facts here.I really hope you will definitely carry on enlightening folks in future as well,with this kind of valuable info.Carry on the good task.
Rahul Tilloo says
Thanks a lot Jane. Please keep the encouragement coming. This kind of comments helps us to work even when our chips are down.
Thanks for taking out your time.
Can u give me some realtime examples on all SDLC models?.It could help me.
Keep an eye on our upcoming posts. You will find all the relevant examples.
A R Arslan says
A really good effort to put a Sensible Information about Spiral Model for encouraging new comer
Please help me with the live example on Spiral Model?
Spiral Model is highly use in IT companies. This model involves strategies, which is combination of incremental and prototype models. This Spiral Model is best to use for large projects which required more management and planning.
Judge Dialwa says
Thanks so much , this helped me a lot on my school assignment on Software Development and Management ,and it improved my understanding as well.
Thanks Judge, Glad you found the information useful.