The Spiral Life Cycle Model Information Technology Essay
A spiral model is nothing but a system development life cycle model used in software development project management. Unlike the waterfall model which adopts a more linear approach, the spiral model combines elements of both design and prototyping in stages in an effort
The concept and ideology of a spiral life cycle model came into existence in the mid 1980’s and was introduced by an American software engineer, Barry Boehm. He penned down his thoughts on the model in his article “A Spiral Model of Software Development and Enhancement”. Though, this model was not the first model to discuss iterative development; the spiral model proved to be an evident influence on introducing two other software development methodologies, the Model Based Architecture and Software Engineering (MBASE) and Extreme Programming.
http://www.docstoc.com/docs/23272870/A-Presentation-On-Using-the-WinWin-Spiral-Model-A
Youtube: http://www.youtube.com/watch?v=vj_pqDpLJQ0
spiral iterative development
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 lifecycle 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 model 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”[1]. 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.
Steps
The steps in the spiral model iteration can be generalized as follows:
The system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system.
A preliminary design is created for the new system. This phase is the most important part of “Spiral Model”. In this phase all possible (and available) alternatives, which can help in developing a cost effective project are analyzed and strategies to use them are decided. This phase has been added specially in order to identify and resolve all the possible risks in the project development. If risks indicate any kind of uncertainty in requirements, prototyping may be used to proceed with the available data and find out possible solution in order to deal with the potential changes in the requirements.
A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product.
A second prototype is evolved by a fourfold procedure:
evaluating the first prototype in terms of its strengths, weaknesses, and risks;
defining the requirements of the second prototype;
planning and designing the second prototype;
Constructing and testing the second prototype.
Applications
The spiral model is mostly used in large projects. For smaller projects, the concept of agile software development is becoming a viable alternative. The US military had adopted the spiral model for its Future Combat Systems program. The FCS project was canceled after six years (2003-2009), it had a two year iteration (spiral). The FCS should have resulted in three consecutive prototypes (one prototype per spiral-every two years). It was canceled in May 2009. The spiral model thus may suit small (up to $3 million) software applications and not a complicated ($3 billion) distributed, interoperable, system of systems.
Also it is reasonable to use the spiral model in projects where business goals are unstable but the architecture must be realized well enough to provide high loading and stress ability. For example, the Spiral Architecture Driven Development is the spiral based SDLC which shows the possible way how to reduce a risk of non-effective architecture with the help of spiral model in conjunction with the best practices from other models.
Spiral Model
History
The spiral model was defined by Barry Boehm in his 1988 article A Spiral Model of Software Development and Enhancement. This model was not the first model to discuss iterative development, but it was the first model to explain why the iteration matters. 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.
The Spiral Model
The spiral model, also known as the spiral lifecycle model, is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping model and the waterfall model. Thespiral model is intended for large, expensive, and complicated projects.
The steps in the spiral model can be generalized as follows:
The new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system.
A preliminary design is created for the new system.
A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product.
A second prototype is evolved by a fourfold procedure: (1) evaluating the first prototype in terms of its strengths, weaknesses, and risks; (2) defining the requirements of the second prototype; (3) planning and designing the second prototype; (4) constructing and testing the second prototype.
At the customer’s option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in thecustomer’s judgment, result in a less-than-satisfactory final product.
The existing prototype is evaluated in the same manner as was the previous prototype, and, if necessary, another prototype is developed from it according to the fourfold procedure outlined above.
The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired.
The final system is constructed, based on the refined prototype.
The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.
Applications
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. For smaller projects, the concept of agile software development is becoming a viable alternative. The US military has adopted the spiral model for its Future Combat Systems program.
Advantages and Disadvantages
Advantages
Estimates (i.e. budget, schedule, etc.) become more realistic as work progresses, because important issues are discovered earlier.
It is more able to cope with the (nearly inevitable) changes that software development generally entails.
Software engineers (who can get restless with protracted design processes) can get their hands in and start working on a project earlier.
Disadvantages
Highly customized limiting re-usability
Applied differently for each application
Risk of not meeting budget or schedule
Risk of not meeting budget or schedule
Spiral Model
The spiral model is the most generic of the models. Most life cycle models can be derived as special cases of the spiral model. The spiral uses a risk management approach to software development. Some advantages of the spiral model are:
defers elaboration of low risk software elements
incorporates prototyping as a risk reduction strategy
gives an early focus to reusable software
accommodates life-cycle evolution, growth, and requirement changes
incorporates software quality objectives into the product
focus on early error detection and design flaws
sets completion criteria for each project activity to answer the question: “How much is enough?”
uses identical approaches for development and maintenance
can be used for hardware-software system development
Order Now