Boehm’s Spiral Process Model

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. Also known as the spiral life-cycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping and the waterfall model. The spiral model is intended for large, expensive and complicated projects.

 History:
The spiral model was defined by Barry Boehm in his 1986 article "A Spiral Model of Software Development and Enhancement". This model was not the first model to discuss iterative development. As originally envisioned, the iterations were typically 6 months to 2 years long. Each phase starts with a design goal and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, with an eye toward the end goal of the project. 

 •Objective setting
-Specific objectives for that phase of the project are defined. Constraints on the process and the product are identified and a detailed management  plan  is  drawn  up.  Project  risks  are  identified.  Alternative  strategies, depending on these risks, may be planned.

 •Risk assessment and reduction
-For each of the identified project risks, a detailed analysis is carried out. Steps are taken to reduce the risk. For example, if there is a risk that the requirements are inappropriate, a prototype system may be developed.

 •Development and validation
-After risk evaluation, a development model for the system is chosen. For example, throwaway prototyping may be the best development approach if user interface risks are dominant. If safety risks are the main consideration, development based on formal transformations may be the most appropriate process, and so on. If the main identified risk is sub-system integration, the waterfall model may be the best development model to use.
•Planning 
-The project is reviewed and a decision made whether to continue with a further loop of the spiral. If it is decided to continue, plans are drawn up for the next phase of the project.


•Main characteristics
 –Also a hybrid model that support process iteration.
–The process is represented as a spiral, each loop in the spiral representing a process phase.
–Risk is explicitly taken into consideration.

•Advantages
–Risk reduction mechanisms are in place.
–Supports iteration and reflects real-world practices –Systematic approach.

•Disadvantages:
–Requires expertise in risk evaluation and reduction.
–Complex, relatively difficult to follow strictly.
–Applicable only to large systems

•Applicability
–Internal development of large systems.

You can also view:
1. Rational Unified Process Model.
2. Rapid Application Development-RAD
3. Prototyping Process Model
4. Incremental Process Model
5. Component Based Software Engineering
6. Evolutionary Process Development Model
7. Waterfall Process Model
8. Software Process Framework Activity

Comments

i am running my new blog at Knowledge Sharing (https://ksharing.info). please subscribe my new blog

Popular posts from this blog

Component Based Software Engineering

What is software engineering

What is Non-functional requirements