Spiral Model with its Usage? Advantages and Disadvantages

Software Engineering

What is Spiral Model?

Spiral Model is a risk-driven software development process model with the amalgamation of waterfall model and iterative model. Spiral Model helps to implement software development elements of several process models for the software project based on unique risk patterns ensuring efficient development process.

Spiral model each phase in software engineering initiates with a design goal and ends with the client reviewing the progress. The development process in Spiral model in SDLC, starts with a small set of necessity and goes through each development phase for those set of requirements. The software engineering team enhances functionality for the additional requirement in every-increasing spirals until the application is ready for the production phase. The below figure very well explain Spiral Model:

Spiral Model Diagram

Spiral Model Phases

Spiral Model PhasesActivities corresponding each  phase
PlanningThis phase includes guessing the cost, schedule and resources for the iteration. It also involves understanding the system requirements for continuous communication between the system analyst and the customer
Risk AnalysisRisk Analysis is the Identification of potential risk is done while risk mitigation strategy is planned and finalized
EngineeringThe phase includes testing, coding and deploying software at the customer site
EvaluationThis phase concern Evaluation of software by the customer. Similarly, take account of identifying and monitoring risks such as schedule slippage and cost overrun
phase activities

Spiral Model Usage:

  1. Spiral methodology is useful for medium to high-risk projects
  2. When necessities are undecided and complex, Spiral model in SDLC is useful
  3. Where modifications may require at any time
  4. When risk and costs evaluation is important
  5. Where long term project commitment is not feasible due to changes in economic priorities
  6. For a large project spiral model in software engineering is used.
  7. When releases are required to be frequent, spiral methodology is used
  8. When creation of a prototype is applicable
  9. When there is a budget constraint and risk evaluation is important.
  10. For medium to high-risk projects.

Advantages and Disadvantages of Spiral Model

AdvantagesDisadvantages
At a later stage Additional functionality or changes can be done.Risk of not meeting the schedule or budget
Cost estimation becomes easy due to prototype building is done in small fragmentsSpiral development works best for large projects only also demands risk assessment expertise
It is Continuous or repeated development helps in risk managementFor its smooth operation spiral model protocol needs to be followed strictly
The Development is fast and features are added in a systematic way in Spiral developmentIn This model the Documentation is more as it has intermediate phases
There is always a space for customer feedback

Spiral software development is not advisable for smaller project, it might cost them a lot.

 
Changing requirements can be accommodated.Management is more complex

Users see the system early.

Spiral model process is complex.  


The risky parts can be developed earlier which helps in better risk management.

Spiral may go on indefinitely.
Large number of intermediate stages requires excessive documentation.

0 Comments

You may find interest following article

Chapter 4 Relational Algebra

Relational Algebra The part of mathematics in which letters and other general symbols are used to represent numbers and quantities in formula and equations. Ex: (x + y) · z = (x · z) + (y · z). The main application of relational algebra is providing a theoretical foundation for relational databases, particularly query languages for such databases. Relational algebra...

Chapter 3 Components of the Database System Environment

Components of the Database System Environment There are five major components in the database system environment and their interrelationships are. Hardware Software Data Users Procedures Hardware:  The hardware is the actual computer system used for keeping and accessing the database. Conventional DBMS hardware consists of secondary storage devices, usually...

Chapter 2: Database Languages and their information

Database Languages A DBMS must provide appropriate languages and interfaces for each category of users to express database queries and updates. Database Languages are used to create and maintain database on computer. There are large numbers of database languages like Oracle, MySQL, MS Access, dBase, FoxPro etc. Database Languages: Refers to the languages used to...