×

Spiral Model

The problem with traditional software process models is that they do not adequately deal with uncertainty, which is inherent to software projects. Major software projects had failed because project risks were neglected, and no one was ready when something unexpected happened. Barry Böhm identified this and attempted to integrate the "project risk" factor into the life cycle model. The outcome is the spiral model proposed in 1986.

Spiral Model

The radial dimension of the model represents the cumulative cost of the model. Each path around the spiral is a sign of increased cost. The angular dimension represents the progress made in the completion of each cycle. Each loop of the spiral from the x-axis represents a phase. One phase is roughly divided into four major sectors of significant activities:

Spiral Model design

In the Spiral model, the software project repeatedly goes through these iterations, which is called Spirals. There are four phases in the spiral model.

Identification

This phase begins with the accumulation of business needs in the initial spiral. After the product matures, the spiral determines the system requirements, subsystem requirements, and unit requirements at this stage.

This phase also involves understanding the system requirements through continuous communication between the client and the systems analyst. At the end of the spiral, the product is deployed in the market.

Design

The design phase starts with the conceptual design of the basic spiral and involves the architectural design, the logical design of the components, the physical design of the material, and the final design of the corresponding spiral.

Construct or Build

The build phase refers to the production of real-world software products at every spiral. At the baseline spiral, when the product is conceptualized, and the design is developed, the POC (Proof of Concept) has been developed at this time to receive customer feedback.

The subsequent spiral is more clearly defined design requirements and specifications, a software package called the build is generated with a version number. These builds are sent to the end-user for feedback.

Evaluation and Risk Analysis

Risk analysis includes identifying, measuring, and monitoring technical and administrative issues such as time management and cost overruns. After testing the build, at the end of the initial iteration, the customer reviews the software and provides feedback.

Based on customer input, the implementation of the project begins the next phase of the analysis and essentially takes a strategic approach according to customer feedback. The sustainability information process continues throughout the life of the program.

The advantages of the Spiral Model are:-

  1. Changes in requirements can be accommodated. 
  2. It allows widespread use of prototypes.
  3. Requirements can be noted down more clearly.
  4. Development can be broken down into smaller parts, and risk areas can be developed earlier, which helps to manage risks better.

The disadvantages of the Spiral Model are:-

  1. The project end may not be known soon.
  2. Management is more complicated.
  3. Expensive.
  4. It is not suitable for small projects.
  5. The spiral may go on indefinitely.
  6. Excessive documentation is required for a large number of intermediate stages.

Related Topics

What is System Design

System design is simply the systematic process used to design the basic architecture of an electronic control system by defining essential elements like modules or components and their interfaces. This...

3 minutes read.

Software Quality Assurance (SQA)

Software Quality Assurance (SQA) is a process that ensures the quality of software while developing software. It also ensures that all processes, procedures, and activities are monitored and properly implemented. It works along...

3 minutes read.

Spiral Model

The problem with traditional software process models is that they do not adequately deal with uncertainty, which is inherent to software projects. Major software projects had failed because project risks were neglected, and...

3 minutes read.

Incremental Model in Software Engineering

Incremental Model is a software development process where requirements are divided into several stand-alone software development modules. In this example, each module passes through the requirement, design, development, implementation, and testing phases. That subsequent...

2 minutes read.

Data Structure Metrics

In the size metric, we have learned to measure/ determine the size of a program by various software metrics such as line of code, Function count, and Token Count. A program...

6 minutes read.

Overall Equipment Effectiveness

Overall Equipment Effectiveness (OEE) Overall equipment effectiveness is a software development metric used to diagnose a product or machinery's manufacturing productivity and effeteness. The term OEE was introduced by Seiichi Nakajima San...

4 minutes read.

Scope of software metrics

Scope, Benefit, and Cycle of Software Metrics Software metrics have tremendous scope in software development to understand and fulfill various aspects of the project process. Software metrics help in estimation of...

6 minutes read.

Project Management Tools

Project Management Tools Risk and uncertainty increase in the size of the project, even when the project is developed according to the prescribed methods. We use project management tools to manage project management systems properly...

3 minutes read.

Object Oriented Analysis and Design in Software Engineering

Using object-oriented programming, object-oriented analysis and design (OOAD) is a technical way for evaluating and organising an application, system, or business. It also uses visual modelling to direct stakeholder interaction...

9 minutes read.

Load Balancer – System Design

As software engineering students or IT enthusiasts, most of us have wondered how these huge IT applications handle the millions of simultaneous requests on their servers. The sheer hard work...

9 minutes read.

Project Management

Project Management What is a software project? The project is a set of tasks that need to be completed to reach a clear result. The project is also defined as the set of inputs...

2 minutes read.

Strategies for System Design

System Design is crucial to showcase the System's architecture used for the business. System Design is essential to implement the interfaces and the data flow to satisfy all the requirements...

4 minutes read.

Software Configuration Management

Software Configuration Management The process of Software Configuration Management contains operations such as controlling, managing, and organizing the source-code, documents, and other essential components during the Software Development Life Cycle.SCM is essential for all project...

3 minutes read.

Software Quality Metrics

In a software project, the software is designed to build a source code, but from time to time or step by step, checking source code is required. Check whether the work...

4 minutes read.

Structured Analysis and Design (SA/SD)

When the software systems keep getting bigger and more complex, you need a way to represent the model systematically. Structured Design and Structured Analysis, often referred to as SA/SD, is...

4 minutes read.

Dropbox - System Design

While trying to upload or share any file, whether images, pdfs or documents, you would have come across the dropbox file posting service. Dropbox keeps all your data secure and...

9 minutes read.

Constructive Cost Model (COCOMO)

The constructive cost model (COCOMO) is one of the most widely used software cost estimation models. This model is developed by B.W.Boehm in 1981. COCOMO model is based on LOC, i.e., the number...

5 minutes read.

Some Important Quality Metrics

Important Quality Metrics The best quality of software has to pass through various software quality measures to attain standard in quality. The quality executive should consider these metrics to monitor the...

5 minutes read.

Object Oriented Metrices in Software Engineering

Metrics are used to measure the quality of software on different parameters. It provides acomputed accurate estimation of projects that help in developing software with minimal fault. “Metric is a set...

7 minutes read.

SDLC in Software Engineering

SDLC SDLC stands for the Software Development life cycle. It is a pictorial and diagrammatic representation of the software life cycle. A life cycle model represents all the techniques required to integrate software into the...

3 minutes read.