×

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

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.

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.

Agile Model in Software Engineering

The Agile method acquires the features of the iterative or incremental process model. More focus on process adaptability and customer satisfaction through the timely delivery of working software. The agile method split the...

2 minutes read.

RAD Model in Software Engineering

RAD Model is an incremental process model and was developed by IBM in the 1980s and described in the book of James Martin entitled Rapid Application Development. Hence, user involvement is essential from...

3 minutes read.

Iterative Model in Software Engineering

This model consists of the same phases as the waterfall model, but with fewer restrictions. Generally, the phases occur in the same order as in the waterfall model, but these may be conducted...

2 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.

Prototype Model in Software Engineering

The prototype creation model is a method of developing the software in which a prototype of software or app is constructed, tested, and then reworked as needed until an acceptable result is obtained...

4 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.

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 Project Planning

Project planning is a management process that focuses on the activities required to complete a project successfully. Project planning helps to prevent problems that occur during the project development, such as a...

2 minutes read.

Twitter - System Design

You might have heard of Twitter, a widely used social media platform. Everybody tends to check it every few minutes. Imagine what you would do if you were asked to...

8 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 activities

Project management activities Software project management involves many activities, including project planning, software product scope, cost estimation in various terms, scheduling of tasks and events, and resource management. Project management activities may include: Project PlanningScope ManagementProject...

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.

V-Model

The V-model is also known as the verification and validation model. The V-model is also known as the verification and validation model. In this, each phase of the SDLC must be completed before...

3 minutes read.

Metrics for testing

There are different types of metrics used in software testing to measure different parameters. So, for different purposes, different metrics are used by the developer. For example: The type of metrics...

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.

Waterfall Model in Software Engineering

The most popular model is the waterfall model. This model has five phases: Requirement analysis and specification DesignImplementation & unit testing Integration and system testing phaseOperation and maintenance These phases often occur one...

3 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.

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.