What Is Spiral Model? It’s Advantages & Disadvantages

In this article you will learn what is spiral model and the advantages and disadvantages of spiral model. So let’s start with spiral model definition :

Spiral model is an evolutionary software process model which is a combination of an iterative nature of prototyping and controlled and systematic aspects of traditional waterfall model.

This model was originally proposed by Boehm. It provides the potential for rapid development of incremental versions of the software.

In Spiral model, software development takes place in series of developed releases. In initial stage iterations, the release or model might be a paper model or a prototype. In the later stages a more complete version of software is actually produced.

A spiral model is made up of set different framework activities made by the software engineering team. Take a look at the following spiral model diagram :

Spiral Model In Software Engineering

Spiral Model

A spiral model is divided into number of framework activities, also called task regions. Every framework activities represent one section of the spiral path. As the development process starts, the software team perform activities that are indirect by a path around the spiral model in a clockwise direction. It begins at the center of 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 to establish effective communication between developer and customer.
  • Planning-tasks required to define resources,timelines and other project related information.
  • Risk analysis tasks required to assess both technical and management risks.
  • Engineering tasks required to build 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 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 task set, that are 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 task 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 Spiral Model

The spiral model is a realistic approach to the development of large-scale systems and software. Check out some of the advantages of spiral model :

1. Estimates ( i.e budget, schedule, etc) become more realistic as work progresses, because more important issues are discovered  earlier.

2. It is more able to cope with the changes that software development generally 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 spiral model. Here are some of the disadvantages of spiral model :-

1. Highly customized limiting re-usability.

2. Applied differently for each application.

3. Risk of not meeting,budget or schedule.

 Applications

The spiral model is mostly used in large projects. The military had adopted the spiral model for its Future Combat Systems program.

The spiral 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 a in conjunction with the best practices from other models.

Spiral Model PPT

At TechnoTrice You can also find more information on :

Summary
Article Name
Spiral Model In Software Engineering : What is it? It's Advantages
Author
Description
In this article you will learn what is spiral model and the advantages and disadvantages of spiral model .
What Is Spiral Model? It’s Advantages & Disadvantages Rahul Tilloo Software Engineering,
In this article you will learn what is spiral model and the advantages and disadvantages of spiral model. So let's start with spiral model definition : Spiral model is an evolutionary software process model which is a combination of an iterative nature of prototyping and controlled and systematic aspects of...
In this article you will learn what is spiral model and the advantages and disadvantages of spiral model. So let's start with <span id="51a56322-388f-42cc-956c-77f1950b5eba" class="GINGER_SOFTWARE_mark">spiral model definition</span><span id="9832641a-1756-4d8c-8c42-f22937a775b3" class="GINGER_SOFTWARE_mark"> :</span> <blockquote>Spiral model is an evolutionary software process model which is a combination of an iterative nature of prototyping and controlled and systematic aspects of <span id="9a1ef051-b910-4c19-86c5-979fa4d48bf0" class="GINGER_SOFTWARE_mark">traditional <a title="What Is Waterfall Model In Software Engineering ?" href="http://www.technotrice.com/what-is-waterfall-model-software-engineering/" target="_blank">waterfall model</a></span>.</blockquote> This model was originally proposed by <a title="Barry Boehm" href="http://en.wikipedia.org/wiki/Barry_Boehm" target="_blank">Boehm</a>. It provides the potential for rapid development of incremental versions of the software.<span id="more-692"></span> In Spiral model, <a title="Software Development" href="http://en.wikipedia.org/wiki/Software_development" target="_blank">software development</a> takes place in <span id="5f585c70-9e92-4b0c-8138-084cc013f4b9" class="GINGER_SOFTWARE_mark">series</span> of <span id="0e38b1d0-a68e-48f1-aa68-829368e9e4ca" class="GINGER_SOFTWARE_mark">developed</span> releases. In initial stage iterations, the release or model might be a paper model or a <a title="Prototype" href="https://en.wikipedia.org/wiki/Prototype" target="_blank">prototype</a>. In the later stages a more complete version of <span id="046627e8-6ff8-43ad-82eb-4f9901aded14" class="GINGER_SOFTWARE_mark">software</span> is actually produced. A spiral model is made up of set different framework activities made by the software engineering team. Take a look at the following spiral model diagram<span id="b43ddbba-15aa-490e-b843-84d202548bd6" class="GINGER_SOFTWARE_mark"> :</span> A spiral model is divided into <span id="9c5c59cd-3514-4d11-8e11-27e26bdcbcfd" class="GINGER_SOFTWARE_mark">number</span> of framework activities, also called task regions. Every framework activities <span id="f8eeaddc-af99-43c4-ae37-fc3659e2c267" class="GINGER_SOFTWARE_mark">represent</span> one section of the spiral path. As the development process starts, the software team <span id="36c8137a-4894-4987-9d5b-868d4acbfcba" class="GINGER_SOFTWARE_mark">perform</span> activities that are indirect by a path around the spiral model in a clockwise direction. It begins at the center of spiral model. Typically, there are between three and six task regions. The above figure depicts a spiral model that contains 6 task regions. <h2 style="text-align: center;">Phases Of Spiral Model (Tasks Regions)</h2> <ul> <li><span style="text-decoration: underline;">Customer communication</span>-tasks required to establish effective communication between developer and customer.</li> <li><span style="text-decoration: underline;">Planning</span>-tasks required to define resources<span id="bf7129ae-4269-476b-9a7d-be19e053a7b2" class="GINGER_SOFTWARE_mark">,</span>timelines and other project related information.</li> <li><span style="text-decoration: underline;">Risk analysis</span> tasks required to assess both technical and management risks.</li> <li><span style="text-decoration: underline;">Engineering</span> tasks required to build one or more representations of the application.</li> <li><span style="text-decoration: underline;">Construction and release</span> tasks required to construct<span id="eb155058-4fcc-4156-b3e8-365944655bed" class="GINGER_SOFTWARE_mark"> ,</span>test<span id="12e834b7-e77d-467b-81a0-fd1c16b327a0" class="GINGER_SOFTWARE_mark">,</span>install<span id="713b1638-0026-4b0e-94e6-03dd1353867a" class="GINGER_SOFTWARE_mark">,</span>and provide user support.</li> <li><span style="text-decoration: underline;">Customer evaluation</span>-tasks required to obtain customer feedback based on evaluation of the software representations created during the engineering stage and implemented during the installation stage.</li> </ul> Each of the regions is populated by a set of work tasks<span id="289a9aec-8a4a-4f32-9517-6eb18182d563" class="GINGER_SOFTWARE_mark">,</span>called a task set, that are adapted to the characteristics of the project to be undertaken. For small projects<span id="c5d11851-bb4b-4014-9b5e-d978428c87c5" class="GINGER_SOFTWARE_mark">,</span>the number of work tasks and their formality is low. For larger, more critical projects, each task region contains more work tasks that are defined to achieve a higher level of formality. In all cases<span id="f22ddbb5-231a-4bd4-9995-f9e8072ff9e2" class="GINGER_SOFTWARE_mark">,</span>the umbrella activities e.g - <a title="Software Configuration Management" href="http://en.wikipedia.org/wiki/Software_configuration_management" target="_blank">software configuration management</a> and <a title="Software Quality Assurance" href="https://en.wikipedia.org/wiki/Software_quality_assurance" target="_blank">software quality assurance</a> are applied. <h2 style="text-align: center;">Advantages Of Spiral Model</h2> The spiral model is a realistic approach to the development of large-scale systems and software. Check out some of the advantages of spiral model<span id="4ddd0ce2-7fce-4a2f-bfd5-e633ce10823e" class="GINGER_SOFTWARE_mark"> :</span> <blockquote>1. Estimates <span id="4c05887a-70de-476c-adb1-6a78ef58c9a1" class="GINGER_SOFTWARE_mark">( </span><span id="f51192e8-3844-4726-b3f6-e17455e0050e" class="GINGER_SOFTWARE_mark">i.e</span> budget, schedule, <span id="2c56560e-dce8-414f-971d-1596e04bfd21" class="GINGER_SOFTWARE_mark">etc</span>) become more realistic as work progresses, because more important issues are discovered  earlier. 2. It is more able to cope with the changes that software development generally entails. 3. Software engineers can get their hands <span id="f6765291-9065-4ffb-b366-f3782751619c" class="GINGER_SOFTWARE_mark">in</span> and start working on a project earlier.</blockquote> <h2 style="text-align: center;">Disadvantages Of Spiral Model</h2> With <span id="b4faf1c8-660d-46c3-a96b-4f89a616229e" class="GINGER_SOFTWARE_mark">advantages there</span> are also some disadvantages of spiral model. Here are some of the disadvantages of spiral model<span id="df9ad7af-9121-45f5-a91d-ab08c9536634" class="GINGER_SOFTWARE_mark"> :-</span> <blockquote><span style="line-height: 13px;">1. Highly customized limiting re-usability.</span> 2. Applied differently for each application. 3. Risk of not meeting<span id="21058e4c-19a8-45c2-ada5-1510e6ca1d06" class="GINGER_SOFTWARE_mark">,</span>budget or schedule.</blockquote> <h2 style="text-align: center;"> Applications</h2> <blockquote>The spiral model is mostly used in large projects. The military had adopted the spiral model for its Future Combat Systems program. The spiral 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 <span id="f811d280-c231-463b-b2f5-1355daa00d0c" class="GINGER_SOFTWARE_mark">unstable but</span> the architecture must be realized well enough to provide high loading and stress ability. For example, the <a href="http://sadd.codeplex.com" rel="nofollow">Spiral Architecture Driven Development</a> 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 a in conjunction with the best practices from other models.</blockquote> <p style="text-align: center;"><strong>Spiral Model PPT</strong></p> At TechnoTrice You can also find more information on<span id="bbcf5bf8-93cc-4c0e-a331-3deefa03c080" class="GINGER_SOFTWARE_mark"> :</span> <ul> <li><a title="What Is Waterfall Model In Software Engineering ?" href="http://www.technotrice.com/what-is-waterfall-model-software-engineering/">What is Waterfall Model</a></li> <li><a title="What Is Incremental Model In Software Engineering ?" href="http://www.technotrice.com/incremental-model-in-software-engineering/">What is Incremental Model</a></li> </ul>