University of Southern California
Home   Contact Us    
Center for Systems and Software Engineering

About us
Tech. Report
TR by Author
List of Affiliates
Private Area
Other Resources

Technical Reports


Barry Boehm, "Process Support of Software Product Lines (ISPW 10)," Proceedings, ISPW 10, June 1996, pp. 2-6 (pdf)

The focus of ISPW 10 was on "Process Support of Software Product Lines." Much of the technology currently available to support the software process has focused on the process of developing and evolving a single software product. Increasingly, organizations are finding advantages in product-line software approaches, involving investments in domain engineering, product line architectures, and rapid applications composition with extensive use of commercial-off-the-shelf (COTS) and other reusable software assets. Recent books on software reuse and product line management [Jacobson-Griss-Jonsson, 1997; Poulin, 1997; Reifer, 1997] provide extensive evidence of the advantages: factors of 1.5 to 4 improvements in development time, factors of 1.5 to 6 in productivity, and factors of 2-10 in defect rates. This paper summarizes the original issues and major conclusions of the Workshop.


Barry Boehm, Hoh Peter In, "Aids for Identifying Conflicts Among Quality Requirements," Proceedings, ICRE-96, and IEEE Software, March 1996 (pdf)

One of the biggest risks in software requirements engineering is the risk of over emphasizing one quality attribute requirement (e.g., performance) at the expense of others at least as important (e.g., evolvability and portability). This paper describes an exploratory knowledge-based tool for identifying potential quality attribute risks and conflicts early in the software/system life cycle.

The Quality Attribute Risk and Conflict Consultant (QARCC) examines the quality attribute tradeoffs involved in software architecture and process strategies (e.g., one can improve portability via a layered architecture, but usually at some cost in performance). It operates in the context of the USC-CSE WinWin system, a groupware support system for determining software and system requirements as negotiated win conditions.


Barry Boehm, "Anchoring the Software Process," IEEE Software, Volume 13, Issue 4, July 1996, pp. 73-82 (pdf)

The current proliferation of software process models provides flexibility for organizations to deal with the unavoidably wide variety of software project situations, cultures, and environments. But it weakens their defenses against some common sources of project failure, and leaves them with no common anchor points around which to plan and control. This article identifies three milestones -- Life Cycle Objectives, Life Cycle Architecture, and Initial Operational Capability -- which can serve as these common anchor points. It also discusses why the presence or absence of these three milestones or their equivalents is a critical success factor, particularly for large software projects, but for other software projects as well.


Ellis Horowitz, "WinWin Reference Manual: A System for Collaboration and Negotiation," version 1.1, 1996 (pdf)

WmWin is a computer program that aids in the capture, negotiation and coordination of requirements for a large system. It assumes that a group of people, called stakeholders, their proposed system. The system can be of any type. WinWin contains facilities for:
capturing the desires (win conditions) of the stakeholders
organizing the terminology so that stakeholders are using the same terms in the same way
expressing disagreements or issues needing resolution
offering options as potential solutions
negotiating agreements which resolve the issues
using third party tools to enlighten or resolve issues
producing a requirements document that summarizes the current state of the proposed system
creating documents that support multimedia and hyperlinks
tracing the ways by which requirements decisions were reached
checking the completeness and consistency of requirements

Version 2.0 available at (

Added June 25th, 2008


Barry Boehm, "Lessons Learned on an Early Application Generator" (pdf)

This paper discusses a set of experiences I had in developing ROCKET, an early application generator in the area of rocket flight mechanics at the Rand Corporation. It begins by describing a precursor system I worked on at General Dynamics. It also covers some experiences with the interactive ROCKET followon, and POGO, an early GUI builder. It concludes by relating these to the recent Megaprogramming and Domain Specific Software Architecture programs I was involved in at DARPA.


Barry Boehm, Steven Wolf, "An Open Architecture for Software Process Asset Reuse," ISPW, 10th International Software Process Workshop (ISPW '96), p. 2 (pdf)

Beginning with the paper, "Software Processes are Software Too," [Osterweil, 1987], an attractive line of software process research has developed involving the exploitation of a duality between software products and software processes. This duality can be expressed as,

"If a given approach (disciplined programming, requirements definition and validation, reuse, risk management, peformance modeling) is good for software products, then its process counterpart is good for software processes."

Given that differences exist between software products and software processes (software products are executed by machines; software processes are executed by combinations of people and machines), this duality cannot be pushed too hard or applied unthinkingly.


Barry Boehm, Walt Scacchi, "Simulation and Modeling for Software Acquisition (SAMSA): Air Force Opportunities (Extended Report)," (pdf)

As indicated in the recent Air Force Scientific Advisory Board "New World Vistas" report [January 1996], "The future force will become effective and efficient through the use of information systems..." This particularly requires the Air Force to master the complexities of the rapidly evolving field of computer software, especially in the front end of the system life-cycle.

The need for better support technology for software acquisition was recognized by Mr. Lloyd Moseman, Deputy Assistant Secretary of the Air Force for Computers, Communications, and Support Systems. He also identified Modeling and Simulation (M&S) technology as a strong candidate for such support. M&S technology has been extremely valuable in the acquisition of the hardware parts of Air Force systems, but appears underutilized for software acquisition. Mr. Moseman commissioned USC-CSE to form a Blue Ribbon Panel to investigate the potential of M&S technology for software acquisition, and to develop a technology roadmap for creating and exploiting any promising technologies identified.


Ray Madachy, "System Dynamics Modeling of an Inspection-Based Process," ICSE 18, March 1996 (pdf)

A dynamic simulation model of an inspection-based software life cycle process has been developed to support quantitative process evaluation.

The model serves to examine the effects of inspection processes on cost, schedule, and quality throughout the lifecycle. It uses system dynamics to model the interrelated flows of tasks, errors, and personnel throughout different development phases and is calibrated to industrial data. It extends previous software project dynamics research by examining an inspection-based process with an original model, integrating it with the knowledge-based method for risk assessment and cost estimation, and using an alternative modeling platform.

While specific enough to investigate inspection practices, it is sufficiently general to incorporate changes for other phenomena. It demonstrates the effects of performing inspections or not, the effectiveness of varied inspection policies, and the effects of other managerial policies such as manpower allocation.

The results of testing indicate a valid model that can be used for process evaluation and project planning, and serve as a framework for incorporating other dynamic process factors.


Ahmed Abd-Allah, Barry Boehm, "Models for Composing Heterogeneous Software Architectures" (pdf)

A persistent problem in software engineering is the problem of software composition. The emergence of software architectures and architectural styles has focused attention on a new set of abstractions with which we can create and compose software systems. We examine the problem of providing a model for the composition of different architectural styles within software systems, i.e. the problem of composing heterogeneous architectures. We describe a model of pure styles that is based on a uniform representation. We provide a disciplined approach for analyzing some key aspects of architectural composition, and show the conditions under which systems will fail to be composed.


Ming June Lee, Barry Boehm, "The WinWin Requirements Negotiation System: A Model-Driven Approach" (pdf)

Requirements Engineering constitutes an important part of Software Engineering. The USC WinWin requirements negotiation system addresses critical issues in requirements engineering including (1) multi-stakeholder considerations, (2) change management, and (3) groupware support. This paper presents our current research efforts on constructing and reconciling several formal and semi-formal models of the system and its operations, including inter-artifact relationships, artifact life cycles, and equilibrium model. It concentrates on determining the relationships among the various models or views of the WinWin requirements engineering process.


Ming June Lee, "Foundations of the WinWin Requirements Negotiation System," Ph.D. Dissertation, USC Computer Science Department (pdf)

Requirements Engineering (RE) constitutes an important part of Software Engineering. The USC WinWin requirements negotiation system addresses critical issues in requirements engineering including (1) multi-stakeholder considerations, (2) change management, and (3) groupware support. The WinWin approach to date has primarily involved exploratory prototyping. The system is now converging on a relatively stable set of artifacts and relationships. This makes it feasible and important to formalize these artifacts and relationships to provide a solid scientific framework for the WinWin system. This is the focused problem addressed by the research presented in this paper.


Barry Boehm, Hoh In, "Software Cost Option Strategy Tool (S-COST)," COMPSAC '96, the 20th International Computer Software and Application Conference, 1996, pp. 15-20 (pdf)

The resolution process of cost conflicts among requirements is complex because of highly collaborative and coordinated processes, complex dependencies, and exponentially increasing option space. This paper describes an exploratory knowledge-based tool (called "S-COST") for assisting stakeholders to surface huge option space and diagnose risks of each option.

The S-COST operates in the context of the USC-CSE WinWin system (a groupware support system for determining software and system requirements as negotiated win conditions), QARCC (a support system for identifying conflicts in quality requirements), and COCOMO (COnstructive COst estimation MOdel).

Copyright 2008 The University of Southern California

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.