![]()
Technical Reports
![]()
|
USC-CSE-2001-513 PDF Risk-Based Strategic Software Design Barry
Boehm, Risk
consideration is a valuable assessment aid when making strategic software
design decisions. Expressing development considerations in terms of risk
exposures over an independent variable (e.g. time, cumulative effort, etc.) enables
the quantitative assessment of typically qualitative attributes. Assuming
total risk exposure is additive over individual risk exposure functions,
optimal levels for the individual considerations can be identified as
function of loss-magnitude and loss-probability estimates for risk sources.
Such levels provide strategic trade off considerations (with respect to risk)
and have proven valuable in several previous applications such as “how much
testing is enough” with respect to defect removal and market window
strategic risk considerations. Here we consider a similar application for
making strategic design decisions in determining how much effort (or time)
should be spent evaluating COTS products with respect to project cost, market
window, and a multitude of COTS assessment attributes such as availability,
ease of use, maturity, and vendor support. Document
characteristics: Economics-Driven Software Engineering Research, USC-CSE-2001-512 PDF Applying WinWin to Quality
Requirements: A Case Study Hoh In, Barry Boehm, Thomas Rodgers, Michael
Deutsch Document
characteristics: 23rd ISCE 2001, pp. 555-564 USC-CSE-2001-511 PDF EasyWinWin: A
Groupware-Supported Methodology for Requirement Negotiation Barry
Boehm, Paul Grunbacher, Robert O. Briggs EasyWinWin is a requirement
definition methodology that builds on the win-win negotiation approach and
leverages collaborative technology to improve the involvement and interaction
of the key stakeholders. With EasyWinWin,
stakeholders move through a step-by-step win-win negotiation where they
collect, elaborate, and prioritize their requirements,
and then surface and resolve issues. Document
characteristics: 8th European Software Engineering Conference
(ESEC), 9th ACM SIGSOFT Symposium on The Foundations of Software
Engineering (FSE-9), September 2001, pp. 320-321
Software Defect Reduction Top 10 List Victor
R. Basili, Barry Boehm Recently,
a National Science Foundation grant enabled us to establish the Center for
Empirically Based Software Engineering. CeBASE seeks
to transform software engineering as much as possible from a fad-based
practice to an engineering-based practice through derivation, organization,
and dissemination of empirical data on software development and evolution
phenomenology. The phrase as much as possible” reflects the fact that
software development must remain a people-intensive and continually changing
field. We have found, however, that researchers have established objective
and quantitative data, relationships, and predictive models that help
software developers avoid predictable pitfalls and improve their ability to
predict and control efficient software projects. Document
characteristics: Computer, January 2001, pp. 135-137 USC-CSE-2001-509 PDF Balancing Discipline and Flexibility with The Spiral
Model and MBASE Barry
Boehm and This
article details how the spiral model and its recent extension, Model-Based
Architecting and Software Engineering (MBASE) can be used to tailor a
project’s balance of discipline and flexibility via risk
considerations. It also describes and rationalizes the major MBASE extensions
to the spiral model – model clash avoidance, stakeholder win-win
– and elaborates on the use of these extensions and risk considerations
in the anchor-point milestones used in MBASE and the spiral model. Document
characteristics: CrossTalk: The Journal of
Defense Software Engineering, December 2001, pp. 23-28
Developing Groupware for Requirements
Negotiation: Lessons Learned
Barry
Boehm, Paul Grunbacher, Robert O. Briggs Defining requirements
is a complex and difficult process, and defects in the process often lead to
costly project failures.1 There is no complete and well-defined set of
requirements waiting to be discovered in system development. Different
stakeholders—users, customers, managers, domain experts, and
developers—come to the project with diverse expectations and interests.
Requirements emerge in a highly collaborative, interactive, and
interdisciplinary negotiation process that involves heterogeneous stakeholders.
Using Service
Utilization Metrics to Assess and Improve Product Line Architectures
Andre van der Hoek, Ebru Dincel, Nenad Medvidovic
Metrics have long been used in
software engineering to measure, evaluate, and improve software products and
processes. Many metrics have been developed and their subsequent use in
different settings has led to varying levels of success. Software
architecture is a discipline in which few metrics have been applied, a
surprising fact given the important role that software architecture plays in
software development. Software product line architectures represent one area
of software architecture in which metrics can be of especially great use. The
critical importance of the structure defined by a product
line architecture requires that its properties be meaningfully assessed and
that informed architectural decisions be made to guide its evolution. In this
paper, we present several novel metrics that we have designed to address this
issue. These metrics are based on the concept of service utilization and are
designed to take into account the context in which individual architectural
elements are placed. We show the utility of the metrics by applying them in a
case study involving a digital library product line
architecture. In doing so, we demonstrate how the metrics illustrate
deficiencies that, when addressed, improve the overall structural quality of
the product line architecture.
Architectural
Support for programming in the Many
Nenad Medvidovic, Marija Mikic-Rakic
Over the past several decades
software researchers and practitioners have proposed various approaches,
techniques, and tools for developing large-scale software systems. The
results of these efforts have been characterized as programming-in-the-large
(PitL). A new set of challenges has arisen with the
emergence of inexpensive, small, heterogeneous, resource-constrained,
possibly embedded, highly-distributed, and highly-mobile computing platforms.
We refer to software development in this new setting as
programming-in-the-many (PitM). This paper presents
an approach intended to address the challenges of PitM.
The centerpiece of our approach is a software architectural style with
explicit support for the needs of PitM applications:
selfawareness, distribution, heterogeneity,
dynamism, mobility, and disconnected operation. The style is accompanied by a
set of implementation, deployment, and runtime evolution tools targeted to a
variety of traditional (i.e., desktop) and mobile computing platforms. Our
approach has been successfully applied on a number of applications. While
several issues pertaining to PitM remain areas of
future work, our experience to date has been very positive.
COTS-Based
Systems Top 10 List
Victor Basili, Barry Boehm
In the January 2001 issue of Computer
(pp. 135-137), we published the Software Defect Reduction Top 10
List—one of two foci pursued by the COTS-based systems (CBS) provide
the other CeBASE focus. For our intent, COTS
software has the following char-acteristics: The
buyer has no access to the source code; the vendor controls its development;
and it has a nontrivial installed base (that is, more than one cus-tomer; more than a few copies). Document
characteristics:
The CeBASE Framework for Strategic Software Development and
Evolution
Barry Boehm, Victor Basili
One of the challenges highlighted in the
EDSER-3 Call for Papers is for a symmetric approach to cost, risk, benefit,
and opportunity modeling and management. This position paper offers the CeBASE Method as a response to this challenge. It is the
result of an effort by the CeBASE principals at USC
and Document
characteristics:
Mastering Rapid Delivery and Change with The SAIV
Process Model Barry Boehm, A. Winsor Brown
Ensuring on time, within-budget delivery is
increasingly difficulty in the information technology (IT) field because of
the increasingly rapid rate of requirement volatility of IT systems under
development. This paper describes the Model-Based (System) Architecting and
Software Engineering (MBASE)’s Schedule as Independent Variable (SAIV)
approach to this problem, and illustrates the nature of the solution with
examples. Document
characteristics:
Understanding the Spiral Model as a Tool for
Evolutionary Acquisition Barry Boehm, Wilfred J. Hansen
Since its original publication [Boehm 88], the spiral
development model has been used successfully in many defense and commercial
projects. To extend this base of success the Department of Defense (DoD) has recently
rewritten the defense acquisition regulations to incorporate"evolutionary
acquisition," an acquisition strategy designed to mesh well with spiral
development. In particular, DoD Instruction 5000.2
subdivides acquisition [DoD 00]: "There are
two ... approaches, evolutionary and single step to full capability. An
evolutionary approach is preferred. … [In this] approach, the
ultimate capability delivered to the user is divided into two or more blocks,
with increasing increments of capability."… Document
characteristics: Submitted to ICSE 2001
Avoiding the Software Model-Clash Spiderweb Barry Boehm, Analysts frequently describe
troubled projects with the tarpit metaphor used so
effectively in Fred Brooks’s The Mythical
Man-Month (2nd ed., Addison-Wesley, Document characteristics: |
![]()
![]()
Copyright 1995, 1996, 1997, 1998, 1999 The
The written material, text, graphics, and software available on this page and all related pages may be copied, used, and distributed freely as long as the University of Southern California as the source of the material, text, graphics or software is always clearly indicated and such acknowledgement always accompanies any reuse or redistribution of the material, text, graphics or software; also permission to use the material, text, graphics or software on these pages does not include the right to repackage the material, text, graphics or software in any form or manner and then claim exclusive proprietary ownership of it as part of a commercial offering of services or as part of a commercially offered product.