Spiral Development Experience Principles and Refin
Spiral Development Experience Principles and Refin
net/publication/235035976
CITATIONS READS
65 9,014
2 authors, including:
Barry Boehm
University of Southern California
395 PUBLICATIONS 27,680 CITATIONS
SEE PROFILE
All content following this page was uploaded by Barry Boehm on 27 August 2014.
boehm@sunset.usc.edu
http://sunset.usc.edu/MBASE
6/28/00 ©USC-CSE 1
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 3
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 4
USC
University of Southern California
C S E Center for Software Engineering
• Why invariant
– Avoids premature sequential commitments to system
requirements, design, COTS, combination of cost/
schedule/ performance
– 1 sec response time
• Variants
1a. Relative amount of each artifact developed in each
cycle.
1b. Number of concurrent mini-cycles in each cycle.
• Models excluded
– Incremental sequential waterfalls with high risk of
violating waterfall model assumptions
6/28/00 ©USC-CSE 5
USC
University of Southern California
C S E Center for Software Engineering
$100M
Arch. A:
Custom
many cache processors
$50M
Arch. B:
Modified
Client-Server
Original Spec After Prototyping
1 2 3 4 5
Response Time (sec)
6/28/00 ©USC-CSE 6
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 7
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 8
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 9
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 10
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 11
USC
University of Southern California
C S E Center for Software Engineering
RE (defect losses)
2
6/28/00 ©USC-CSE 12
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 13
USC
University of Southern California
C S E Center for Software Engineering
Spiral Invariant 4:
Degree of Detail Driven by Risk Considerations
• Why invariant
– Determines “how much is enough” of each artifact
(OCD, Rqts, Design, Code, Plans) in each cycle.
• Screen layout rqts.
– Avoids overkill or belated risk resolution.
• Variants
– 4a. Choice of artifact representations (SA/SD, UML,
MBASE, formal specs, programming languages, etc.)
• Models excluded
– Complete, consistent, traceable, testable requirements
specification for systems involving significant levels of
GUI, COTS, or deferred decisions
6/28/00 ©USC-CSE 14
USC
University of Southern California
C S E Center for Software Engineering
Risk-Driven Specifications
• If it’s risky not to specify precisely, Do
– Hardware-software interface
– Prime-subcontractor interface
• If it’s risky to specify precisely, Don’t
– GUI layout
– COTS behavior
6/28/00 ©USC-CSE 15
USC
University of Southern California
C S E Center for Software Engineering
Spiral Invariant 5:
Use of LCO, LCA, IOC, Anchor Point Milestones
• Why invariant
– Avoids analysis paralysis, unrealistic expectations,
requirements creep, architectural drift, COTS shortfalls
and incompatibilities, unsustainable architectures,
traumatic cutovers, useless systems.
• Variants
5a. Number of spiral cycles or increments between anchor
points.
5b. Situation-specific merging of anchor point milestones
• Can merge LCO and LCA when adopting an
architecture from mature 4GL, product line
• Models excluded
– Evolutionary or incremental development with no life
cycle architecture
6/28/00 ©USC-CSE 16
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 17
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 19
USC
University of Southern California
C S E Center for Software Engineering
R D I D R D I D R D I D R D I D
E E M E E E M E E E M E E E M E
Q S P P Q S P P Q S P P Q S P P
Management Management Management Management
RATIONAL
Software Corporation
6/28/00 22
USC
University of Southern California
C S E Center for Software Engineering
•Where do objectives,
The WinWin Spiral Model
constraints, alternatives come
from? 2. Identify Stakeholders’ Win-Win
win conditions Extensions
6/28/00 ©USC-CSE 23
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 24
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 25
USC
University of Southern California
C S E Center for Software Engineering
Spiral Invariant 6:
Emphasis on System and Life Cycle Activities and
Artifacts
• Why invariant
– Avoids premature suboptimization on hardware, software, or
development considerations.
• Scientific American
• Variants
6a. Relative amount of hardware and software determined in
each cycle.
6b. Relative amount of capability in each life cycle increment
6c. Degree of productization (alpha, beta, shrink-wrap, etc.) of
each life cycle increment.
• Models excluded
– Purely logical object-oriented methods
• Insensitive to operational, performance, cost risks
6/28/00 ©USC-CSE 26
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 27
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 28
USC
University of Southern California
C S E Center for Software Engineering
6/28/00 ©USC-CSE 29
USC
University of Southern California
C S E Center for Software Engineering
Recent Developments
• Workshop contents available on SEI web site
– http://www.sei.cmu.edu/cbs/spiral 2000
– SEI Tech Reports forthcoming
• Followon Workshop September 13-15, 2000
– DUSD/S&T sponsor; n Washington DC
– SEI lead organizer, in collaboration with USC
• New DoDD 5000-series acquisition directives due
July-Aug
– Emphasize evolutionary acquisition; spiral
• ASD/C3I Panel report on evolutionary acquisition
– recommends use of spiral development
6/28/00 ©USC-CSE 30
USC
University of Southern California
C S E Center for Software Engineering
References
(MBASE material available at http://sunset.usc.edu/MBASE)
[Boehm, 1988]. “ A Spiral Model of Software Development and Enhancement,”Computer, May
1988, pp. 61-72.
[Boehm, 1989]. “Software Risk Management”, IEEE Computer Society Press, 1989.
[Boehm-Ross, 1989]. “Theory W Software Project Management: Principles and Examples” IEEE
Trans. Software Engr., July 1989.
[Boehm-Bose, 1994]. “A Collaborative Spiral Software Process Model Based on Theory W,”
Proceedings, ICSP 3, IEEE, Reston, Va. October 1994.
[Boehm-Port, 1999b]. “When Models Collide: Lessons from Software Systems Analysis,” IEEE IT
Professional, January/February 1999, pp. 49-56.
6/28/00 ©USC-CSE 32
USC
University of Southern California
C S E Center for Software Engineering
B. Boehm, D. Port, “Escaping the Software Tar Pit: Model Clashes and How to Avoid Them,” ACM
Software Engineering Notes, January, 1999, pp. 36-48.
B. Boehm et al., “Using the Win Win Spiral Model: A Case Study,” IEEE Computer, July 1998, pp. 33-44.
B. Boehm et al., “Developing Multimedia Applications with the WinWin Spiral Model,” Proceedings,
ESEC/FSE 97, Springer Verlag, 1997.
M.J. Carr, S.L. Konda, I. Monarch, F.C. Ulrich, and C.F. Walker,”Taxonomy-Based Risk Identification,”
CMU/SEI-93-TR-06, Software Engineering Institute, 1993
R.N. Charette, Software Engineering Risk Analysis and Management, McGraw Hill, 1989.
6/28/00 ©USC-CSE 33