A Spiral Model of Software Development and Enhancement

In software development process there was a need to maintain and follow a standard process to develop a software. people started to develop process model, winston W. Royce in the year 1970 came up with waterfall model.

The waterfall model served the purpose in the beginning but due to it’s linear design process failed to serve the purpose. In the year 1986 Barry Boehm came up with A Spiral Model of Software Development and Enhancement.

The spiral model is an iterative model for the software development process which added advantage through continuous refinement in software development phases like requirement phase, analysis phase, design phase and implementation.

Spiral model of software development establishes the transition criteria for progressing from one stage to the next with refinement on each iteration.

The radial dimension in Figure represents the cumulative cost incurred in accomplishing the steps to date; the angular dimension represents the progress made in completing each cycle of the spiral.

1

Each cycle of the spiral begins with the identification of  goal of portion of the product being elaborated,the alternative means of implementing this portion of the product and the constraints imposed on the application of the alternatives. Frequently this process with identify areas of uncertainly that are significant sources of project risk, once the risk is evaluated- the next step is determined by the relative remaining risks of the product development.

The risk-resolution activities done in the phase1 of spiral model includes surveys and analyses, including structured interviews of software developers and managers. plan in the next phase involves a partitioning into seperate activities to address managemnet improvements, facilities development and development of the  increments of a software development environment.

The key characteristic of a Spiral model is risk management at regular stages in the development cycle.

The Spiral is visualized as a process passing through some number of iterations, with the four quadrant diagram representative of the following activities:

  1. Formulate plans to: identify software targets, selected to implement the program, clarify the project development restrictions
  2. Risk analysis: an analytical assessment of selected programs, to consider how to identify and eliminate risk
  3. Implementation of the project: the implementation of software development and verification

Risk-driven spiral model, emphasizing the conditions of options and constraints in order to support software reuse, software quality can help as a special goal of integration into the product development. However, the spiral model has some restrictive conditions, as follows:

  1. The spiral model emphasizes risk analysis, and thus requires customers to accept this analysis and act on it. This requires both trust in the developeras well as the willingness to spend more to fix the issues, which is the reason why this model is often used for large-scale internal software development.
  2. If the implementation of risk analysis will greatly affect the profits of the project, the spiral model should not be used.
  3. Software developers have to actively look for possible risks, and analyze it accurately for the spiral model to work.

The first stage is to formulate a plan to achieve the objectives with these constraints, and then strive to find and remove all potential risks through careful analysis and, if necessary, by constructing a prototype. If some risks can not be ruled out, the customer has to decide whether to terminate the project or to ignore the risks and continue anyway. Finally, the results are evaluated and the design of the next phase begins.

Spiral model has helped software engineers who can get there hands in and start working on project earlier. it is more able to cope with changes that software development entails. spiral model estimates to get more realistic as work progress. spiral model adds features in phases. product that is implemented using spiral model has increased it’s productivity to a larger extent.

By

kishore krishna

Advertisements

Tagged:

7 thoughts on “A Spiral Model of Software Development and Enhancement

  1. msritse2012 November 28, 2012 at 10:22 am Reply

    how spiral model helps software engineers in the begining of software development- anudeep

  2. msritse2012 November 28, 2012 at 10:28 am Reply

    The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A software project repeatedly passes through these phases in iterations. The baseline spiral, starting in the planning phase, requirements are gathered and risk is assessed. thus it helps a software engineering to visualize before hand.

  3. khaja moinuddin November 29, 2012 at 6:34 am Reply

    when can we use spiral model. when is it best suited? and when it is recommended not to prefer?

    • kishore krishna December 1, 2012 at 10:44 am Reply

      It is suitable for high risk projects, where business needs may be unstable. The most important feature of spiral model is risk management. In the spiral model ‘risk analysis’ is performed In every loop.
      In this model, a prototype (an early approximation of a final system or product) is built, tested, and then reworked as necessary until an acceptable prototype
      is finally achieved from which the complete system or product can then be developed. It is not suitable for low risk projects.

  4. karthik November 29, 2012 at 6:43 am Reply

    How does the spiral model represent maintainence ?

  5. amit kumar mannur November 29, 2012 at 7:36 am Reply

    In realistic view point.
    If I want to implement a new feature in Phase 1 and its a risk factor is SEV1 i.e if this been implemented then you may have problems in rest developing products .
    How can we do this in Spiral model if so do they again start from start or do the follow any other model like waterfall ( small chunk of requirement) , RAD ?

    • kishore krishna December 1, 2012 at 10:46 am Reply

      Each loop in a spiral represents a development phase and we can have any number of loops according to the project. Each phase, as well as each loop, requires a review from concerned people. This makes the model more transparent.

      Repeated or continuous development helps in risk management. The developers or programmers describe the characteristics with high priority first and then develop a prototype based on these. This prototype is tested and desired changes are made in the new system. This continual and steady approach minimizes the risks or failure associated with the change in the system.

      First prototype is built up with features close to the final system, followed by creating second type. Creating second prototype involves evaluating the performance of the first and describing the requisites of the second prototype, followed by building and testing the second architecture. in which the case spiral model is best suited to add new features and enhance the productivity of a product.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: