Title: The Spiral Model EEE493 2000
1The Spiral Model EEE493 2000
Royal Military College of Canada Electrical and
Computer Engineering
- Major Greg Phillips
- greg.phillips_at_rmc.ca
- 1-613-541-6000 ext. 6190
Dr. Scott Knight knight-s_at_rmc.ca 1-613-541-6000
ext. 6190
2Review Waterfall model
System requirements
Software requirements
Analysis
Design
Coding
Testing
Maintenance
3Review Prototyping cycle
4Review Prototyping in Waterfall
System requirements
Software requirements
Analysis
Design
5Review Evolutionary prototyping
Gather requirements from customer
Build prototype
Customer evaluates prototype
Quick design
Derive design
Refine prototype
Tune system
Operate and maintain
6Boehms observation (1988)
- both the waterfall model and evolutionary
prototyping models are aimed a reducing risk - waterfall reduces risk of requirements/design
thrashing by insisting they are finalized and
signed off early - evolutionary prototyping model reduces risk of
misunderstanding user needs by giving user
constant feedback (as prototypes) while system
evolves - relative risks vary by project, change through
project life span - so, develop software lifecycle model that
explicitly recognizes risk as key driver
7Spiral model
2. Evaluate product and process alternatives,
identify and resolve risks
1. Establish next-level objectives, constraints,
alternatives
5. Review progress, confirm commitment to continue
3. Develop, verify next-level product
4. Plan next phases
8Example Spiral model project
9Starting and stopping
- start with a hypothesis
- a particular user need can be met
cost-effectively by the development of a software
system - stop when either
- system complete and fielded
- must test hypothesis by determining whether
software system actually meets need - hypothesis demonstrated to be false
- system determined to be too expensive,
unnecessary alternative becomes available etc
10Maintenance
- spiral model directly supports maintenance
- maintenance hypothesis
- a modification to this software system is a
cost-effective way of meeting a particular user
need
11Key features
- Development of documentation and other work
products non-uniform - highest risk items addressed first, more heavily
documented - Incorporates prototyping as a risk-reduction
activity - Provides an integral framework for rework by
allowing previous decisions to be revisited in a
principled manner
12WinWin Spiral Model
2. Identify stakeholders win conditions
3a. Reconcile win conditions
1. Identify next-level stakeholders
3b. Establish next-level objectives, constraints,
alternatives
7. Review and commit
4. Evaluate product and process alternatives,
identify and resolve risks
6. Validate product and process
5. Develop next level of product and process,
including partitions
13Advantages
- flexibility
- accommodates a wide range of development
approaches and can be used for software with a
wide range of intrinsic characteristics - focuses early attention on options involving the
reuse of existing software - accommodates preparation for lifecycle evolution,
growth, and changes of the software product - provides a mechanism for incorporating software
quality objectives into software product
development - focuses on eliminating errors and unattractive
alternatives early - for each source of activity or expenditure,
answers the question "How much is enough?" - provides a unified approach for new development
and maintenance - provides a viable framework for integrated
hardware-software system development.
14Difficulties
- Contracting
- the Spiral model is difficult (but not
impossible) to use in a contracting situation,
both for the contractor and for the customer - difficult to accommodate the required flexibility
- difficult to contract without specifying
deliverables in advance - Risk assessment expertise
- successful use of the model requires the
effective identification and resolution of risks,
something many managers and developers are poorly
trained in - Need for further elaboration
- as defined, the model is quite general and is
difficult to effectively apply without
significant expertise
15Next ClassPlanning