Advantages Disadvantages Concurrent Development Model Software Engineering

6/6/2019
The spiral model, also known as the spiral life cycle model, is a new approach towards software development, which is considered to be an ideal option for projects in which complexity is much higher and the costs involved are expected to be greater. It can be defined as a model based on SDLC (system development life cycle), which integrates the characteristics of the waterfall model and the prototyping model.
SDLC is simply a model that provides procedure and guidelines for various phases of software development, such as requisite, architecture, application and testing followed by maintenance. The waterfall model is a method of sequential and linear advancement of a development through different stages, while the prototyping model constitutes building and testing of a required prototype. The spiral model, which combines these two involves the following steps of development.
Procedure for Development
The following is a brief overview of the typical steps involved in developing a system using the spiral life cycle model.
Step 1: The requisites of the new system are described in depth, by consulting with all the users of the existing model and an introductory system design is prepared for new model or system.
Step 2: First prototype is built with features that are a close approximation of the final design.
Step 3: A second prototype is created by evaluating the performance of the first, describing the requisites for the second prototype, followed by building and testing it.
Step 4: The discrepancies in the estimated running cost are evaluated and the efficiency of the new prototype is tested to find out if the new model meets the expectations of the customer.
Step 5: The steps are repeated until the new prototype fulfills all the requirements of the project and the customer.
Step 6: Finally maintenance of the new model is done to avoid break down, and till it is assured that the new system is working smoothly and satisfactorily.
Just like any other system or model, a client should evaluate the pros and cons, before deciding to implement it. The following is a discussion on the advantages and disadvantages of the spiral model.
Advantages
  • The spiral model is a flexible SDLC model which allows the development phases to be determined and adjusted depending upon the project's complexity.
  • Effective monitoring of the project development is possible as each phase as well as loop, requires inputs and feedback from those associated with the project.
  • Risk management is an in-built feature of this model. The project is typically divided into smaller pats and the risky ones are taken care of earlier in the development.
  • Changes to the design can be introduced at any stage of the development life cycle and can be easily accommodated in the process.
  • Project planning and estimation including cost and schedule can be more effectively and accurately carried out as the project development in this model takes places in a predictable spiral fashion until completion.
  • Due to extensive use of prototypes with each being as close to the final product as possible, the customer gets to see the product early on in the development and is thus able to provide his/her valuable feedback and suggest changes according to his requirements.
  • Spiral model is most suited for the development of new, customized or high-risk projects.
Disadvantages
  • The spiral model is an unnecessarily complicated design methodology especially for projects in which the software requirement specifications are clear and definite. It is also not feasible for many low-risk projects.
  • This model requires that the developers possess a high-level skill-set which is a necessity for reviewing the prototype in each phase and loop of the development.
  • Proper adherence to the rules and protocols pertaining to the design are mandatory for the implementation of this model, which is very hard to do throughout the entire span of development.
  • More number of documents and files need to be generated (for every intermediate stage) as compared to other models.
  • Due to client feedback and subsequent customization and modifications carried out in the various stages of development, reusing the prototypes in future projects becomes difficult.
  • Since this model involves loops or stages, the cost of implementation is high.

What is Spiral Model?

Spiral Model is a combination of a waterfall model and iterative model. Each phase in spiral model begins with a design goal and ends with the client reviewing the progress. The spiral model was first mentioned by Barry Boehm in his 1986 paper.

The development team in Spiral-SDLC model starts with a small set of requirement and goes through each development phase for those set of requirements. The software engineering team adds functionality for the additional requirement in every-increasing spirals until the application is ready for the production phase.

Spiral Model Phases

Spiral Model PhasesActivities performed during phase
Planning
  • It includes estimating 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 Analysis
  • Identification of potential risk is done while risk mitigation strategy is planned and finalized
Engineering
  • It includes testing, coding and deploying software at the customer site
Evaluation
  • Evaluation of software by the customer. Also, includes identifying and monitoring risks such as schedule slippage and cost overrun

When to use Spiral Methodology?

  • When project is large
  • When releases are required to be frequent
  • When creation of a prototype is applicable
  • When risk and costs evaluation is important
  • For medium to high-risk projects
  • When requirements are unclear and complex
  • When changes may require at any time
  • When long term project commitment is not feasible due to changes in economic priorities

Advantages and Disadvantages of Spiral Model

Advantages

Disadvantages

  • Additional functionality or changes can be done at a later stage
  • Risk of not meeting the schedule or budget
  • Cost estimation becomes easy as the prototype building is done in small fragments
  • It works best for large projects only also demands risk assessment expertise
  • Continuous or repeated development helps in risk management
  • For its smooth operation spiral model protocol needs to be followed strictly
  • Development is fast and features are added in a systematic way
  • Documentation is more as it has intermediate phases
  • There is always a space for customer feedback
  • It is not advisable for smaller project, it might cost them a lot
Comments are closed.