7/30/2019 20100317 Clark Spiral
1/24
SPEAKER :KAI-JIA CHANG
ADVISER :QUINCY WU
DATA :2010-03-17
Spiral Model
7/30/2019 20100317 Clark Spiral
2/24
Outline
2
Introduction
The spiral model
EvaluationConclusions
References
7/30/2019 20100317 Clark Spiral
3/24
Introduction
3
A Risk-Driven Approach
Different idea of software development.
How does this project affect the developers and the
clients?How does each step in the project affect its overall
development?
Not used in previous development models.
Usually code-driven or document-driven.
7/30/2019 20100317 Clark Spiral
4/24
Introduction
4
Background on software process models
1950Code-and-fix model
1956 Stagewise model (Bengington )
1970Waterfall model (Royce)1971 Incremental model(Mills)
1977 Prototyping model(Bally and others)
1988 Spiral model(Boehm)
7/30/2019 20100317 Clark Spiral
5/24
Introduction
5
Code-and-fix model
First, elementary model
Write code now; fix it later
No planning involvedProblems:
Code is poorly structured.
The software developed was usually a poor match forthe users needs.
7/30/2019 20100317 Clark Spiral
6/24
Introduction
6
Waterfall model
Introduced:
Feedback loops across multiple stages:
Validation and verification steps.Prototyping via a build it twice step alongside of
requirements and design.
Difficulties exposed even as revisions were made to the
model. Required elaborated documents. (Document-driven)
Led to pursuing stages of development in the wrong
order.
7/30/2019 20100317 Clark Spiral
7/24
The spiral model
7
A Typical Cycle of the spiral
Risk Analysis
PrototypeDesign/Validation
Planning
AlternativesAnd repeat
Measure of Cumulative Cost and Progress
7/30/2019 20100317 Clark Spiral
8/24
The spiral model
8
Initiating and terminating the spiral
Four fundamental questions arise in considering thispresentation of the spiral model:
(1) How does the spiral ever get started? (2) How do you get off the spiral when it is
appropriate to terminate a project early?
(3) Why does the spiral end so abruptly?
(4) What happens to software enhancement (ormaintenance)?
7/30/2019 20100317 Clark Spiral
9/24
The spiral model
9
Initiating and terminating the spiral
Initiating the process:
The spiral gets started by a hypothesis that aparticular operational mission (or set of missions)could be improved by a software effort.
Terminating the process:
The spiral process then involves a test of this
hypothesis:At any time, if the hypothesis fails the test, the spiral isterminated.
7/30/2019 20100317 Clark Spiral
10/24
The spiral model
10
7/30/2019 20100317 Clark Spiral
11/24
The spiral model
11
7/30/2019 20100317 Clark Spiral
12/24
The spiral model
12
Cycle Requirements
Each cycle is completed by a review by thepeople concerned with the project.
Plans for the next cycle should be introduced.
With each succeeding level in the spiral thelevel of detail increases.
7/30/2019 20100317 Clark Spiral
13/2413
7/30/2019 20100317 Clark Spiral
14/2414
7/30/2019 20100317 Clark Spiral
15/24
The spiral model
15
PrototypeThrowaway prototypingThrowaway or Rapid Prototyping refers to the creation of a model that
will eventually be discarded rather than becoming part of the finaldelivered software.
Evolutionary prototypingThe main goal when using Evolutionary Prototyping is to build a very
robust prototype in a structured manner and constantly refine it.
Incremental prototyping
The final product is built as separate prototypes. At the end the separateprototypes are merged in an overall design.
Extreme prototypingIt is a development process is used especially for developing web
applications.
7/30/2019 20100317 Clark Spiral
16/24
The spiral model
16
Advantages of prototyping
Reduced time and costs
Improved and increased user involvement
Disadvantages of prototyping
Insufficient analysis
User confusion of prototype and finished system
Developer misunderstanding of user objectivesDeveloper attachment to prototype
Excessive development time of the prototype
Expense of implementing prototyping
7/30/2019 20100317 Clark Spiral
17/24
17
Risk item Risk management techniques
Personnel shortfalls Staffing with top talent, job matching; teambuilding;morale building; cross-training; pre-scheduling key people
Unrealistic schedules
and Budgets
Detailed, multisource cost and schedule estimation;
design to cost; incremental development; software reuse;requirements scrubbing
Developing the wrongsoftware Functions
Organization analysis; mission analysis; ops-conceptformulation; user surveys; prototyping; early usersmanuals
Developing the wronguser Interface
Task analysis; prototyping; scenarios; user characterization(functionality, style, workload)
Gold plating Requirements scrubbing; prototyping; cost-benefit analysis;design to cost
Continuing stream ofrequirement Changes
High change threshold; information hiding; incrementaldevelopment (defer changes to later increments)
Shortfalls in externally
furnished Components
Benchmarking; inspections; reference checking; compatibility
analysisShortfalls in externallyperformed tasks
Reference checking; pre-award audits; award-fee contracts;competitive design or prototyping;Teambuilding
Real-time performanceShortfalls
Simulation; benchmarking; modeling; prototyping;instrumentation; tuning
Straining computer-
science Capabilities
Technical analysis; cost-benefit analysis; prototyping;
reference checking
7/30/2019 20100317 Clark Spiral
18/24
The spiral model
18
The Risk Management Plan
Identify the projects top 10 risk items.
Present a plan for resolving each risk item.Update list of top risk items, plan, and results
monthly.
Highlight risk-item status in monthly project reviews.Compare with previous months rankings, status.
Initiate appropriate corrective actions.
7/30/2019 20100317 Clark Spiral
19/24
Spiral model usage: TRW Software ProductivitySystem, Round 0.--Feasibility study.
19
7/30/2019 20100317 Clark Spiral
20/24
Spiral model usage: TRW Software ProductivitySystem, Round 1.--Concept of operations.
20
7/30/2019 20100317 Clark Spiral
21/24
Spiral model usage: TRW Software Productivity System,Round 2.--Top-level requirements specification.
21
7/30/2019 20100317 Clark Spiral
22/24
Evaluation
22
Advantages Estimates become more realistic as work progresses, because
important issues are discovered earlier. It is more able to cope with the changes that software
development generally entails. Software engineers can get their hands in and start working
on a project earlier.
Disadvantages Highly customized limiting re-usabilityApplied differently for each application Risk of not meeting budget or schedule
7/30/2019 20100317 Clark Spiral
23/24
Conclusions
23
The risk-driven nature provides adaptability for a fullrange of software projects.
The model has been successful in a large application,
the TRW-SPS.The model is not yet fully elaborated.
Even partial implementations of the model, such asthe risk management plan, are compatible with the
other process models.
7/30/2019 20100317 Clark Spiral
24/24
References
24
Rapid Prototyping Tools Revisited
Alan M. Davis, "Operational Prototyping: A newDevelopment Approach. IEEE Software, September 1992.Page 70-78.
Wikipedia: Software Prototyping
B. Boehm, " A Spiral Model of Software Development andEnhancement, ACM SIGSOFT Software Engineering Notes,Volume 11 , Issue 4 (August 1986) Pages: 14 - 24.
Barry Boehm et al., "Using the WinWin Spiral Model: ACase Study, IEEE Computer, July 1998 (vol. 31 no. 7) pp.33-44.