Monday, February 23, 2009

SDLC - SPIRAL MODEL



The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts.
This model of development combines the features of the prototyping model and the waterfall model. The spiral model is intended for large, expensive and complicated projects.

.Adds risks analysis, and RAD prototyping to the waterfall model.
.Each cycle involves the same sequence of steps as the waterfall process model

Objectives: functionality, performance, hardware/software interface, critical success factors, etc.
Alternatives: build, reuse, buy, sub-contract, etc.
Constraints: cost, schedule, interface etc.

Typical activities:
--- Create Design
--- Review Design
--- Develop Design
--- Inspect Design
--- Test product
--- Develop project plan
--- Develop configuration management plan
--- Develop a test plan
--- Develop an installation plan
Advantages:
. Provides early indication of insurmountable risks, without much cost
. Users see the system early because of rapid prototyping tools
. Critical high-risks functions are developed first.
. The design doesn’t have to be perfect
. Users can be closely tied to all lifecycle steps
. Early and frequent feedback from users
Disadvantages:
---Time spent for evaluating risks too large for small or low risk projects
---The model is complex
---Spiral may continue indefinitely
---Developers must be reassigned during non development phase activities.

When to use such model?
---For a typical shrink-wrap application, the spiral model might mean that you have a rough-cut of user elements (without the polished / pretty graphics) as an operable application, add features in phases, and, at some point, add the final graphics.
---The spiral model is used most often in large projects.
---The US military has adopted the spiral model for its Future Combat Systems program

No comments: