The spiral model, introduced by Dr. Barry Boehm and published in IEEE Computer, 1988, addresses these concerns about the waterfall model: It does not adequately address changes, it assumes a relatively uniform and orderly sequence of development steps, and it does not provide for such methods as rapid prototyping or advanced languages.
The spiral model encompasses the strengths of the waterfall model while including risk analysis, risk management, and support and management processes. It also allows for the development of the product to be performed using a prototyping technique or rapid application development through the use of fourth-generation (and beyond) languages and development tools.
It reflects the underlying concept that each cycle involves a progression that addresses the same sequence of steps as the waterfall process model, for each portion of the product and for each of its levels of complexity, from an overall statement of need to the coding of each individual program.
As shown in Figure 4-14, each quadrant of the model has a purpose and supporting activities. The quadrants are listed here:
® Determine objectives, alternatives, and constraints— Objectives such as performance, functionality, ability to accommodate change, hardware/software interface, and critical success factors are identified. Alternative means of implementing this portion of the product (build, reuse, buy, subcontract, etc.) are determined; constraints imposed on the application of the alternatives (cost, schedule, interface, environmental limitations, etc.) are determined. Risks associated with lack of experience, new technology, tight schedules, poor processes, and so on are documented.
• Evaluate alternatives, and identify and resolve risks— Alternatives relative to the objectives and constraints are evaluated; the identification and resolution of risks (risk management, cost-effective strategy for resolving sources, evaluation of remaining risks where money could be lost by continuing system development [go/no-go decisions], etc.) occurs.
• Develop next-level product— Typical activities in this quadrant could be creation of a design, review of a design, development of code, inspection of code, testing, and packaging of the product. The first build is the customer's first look at the system. After this, a planning phase begins—the program is reset to respond to customer's reaction. With each subsequent build, a better idea of customer requirements is developed. The degree of change from one build to the next diminishes with each build, eventually resulting in an operational system.
• Plan next phase— Typical activities in this quadrant could be development of the project plan, development of the configuration management plan, development of the test plan, and development of the installation plan.
Figure 4-14. The Spiral Model
Risk Analysis y Support and ,--"" NalnfriiaïKt / Objeclivea, /AlttfirtôïivisS,
/ anil ^-Impl&mEH-alion
...! A lernalivtisOisjecljYfls,
Was this article helpful?
What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.