The SEI helps advance software engineering principles and practices and serves as a national resource in software engineering, computer security, and process improvement. The SEI works closely with defense and government organizations, industry, and academia to continually improve software-intensive systems. Its core purpose is to help organizations improve their software engineering capabilities and develop or acquire the right software, defect free, within budget and on time, every time.

Structured Intuitive Model for Product Line Economics (SIMPLE)

SIMPLE is a straightforward but comprehensive cost model for software product lines.

Economics of Software Product Lines

Although software product line engineering is emerging as an important software development paradigm, most of the economic arguments are based on singular data points derived from case studies or convincing arguments based on reasonableness and simplistic cost curves. Existing models of development costs in the context of reuse can only be applied in a restricted way as product line development involves some fundamental assumptions that are not reflected in these models. Currently only a few economic models exist specifically for product line engineering, and these usually do not address effects of maintenance and evolution over time.

Calculate ROI for Product Line Development

Decision-makers need to know when the software product line approach makes economic sense, and what return they can expect on the investment of setting up the core asset base and aligning the organization to best carry out the product line practices.

Based on the SIMPLE model, we can calculate the costs and benefits (and hence the ROI) that we can expect to accrue from various product line development situations. Many of these situations can be characterized as special cases of the following general scenario:

An organization has n product lines, each comprising a set of products, and also has s1 stand-alone products. The organization wishes to transition to the state in which it has m product lines, each comprising a (perhaps different) set of products, and also s2 stand-alone products. Along the way, the organization intends to add k products or delete d products.

When instantiated, this general scenario covers the creation, merging, and retirement of product lines, as well as the coming and going of individual products. Our cost model addresses the general scenario and is based on the observation that establishing and then using a product line engineering capability involves the following four costs:

Corg: The cost to an organization of adopting the product line approach for its products. Such costs can include reorganization, process improvement, training, and whatever other organizational remedies are necessary.

Ccab: The development cost to develop a core asset base suited to support the product line being built. This includes costs such as commonality/variability analysis, a generic software architecture, and the cost of developing the software and its supporting designs, documentation, and test infrastructure. The core asset base may be assembled proactively all at once, or incrementally over time using a reactive strategy as more products are introduced.

Cunique: The development cost to develop unique software that is not based on a product line platform. Usually this will be a small portion of a product but in the extreme it could be a complete product.

Creuse: The development cost to reuse core assets in a core asset base. This includes the cost of locating and checking out a core asset, tailoring it for use in the intended application (if necessary), and performing the extra integration tests associated with reusing core assets.

For example, the cost of establishing a product line consisting of n1 products, then, can be written as

where Corg, Ccab, Cunique, and Creuse are cost functions that, given the appropriate parameters, return the corresponding costs. Predictive formulas for other scenarios are also available. We are currently working to expand the model to accommodate other economic dimensions beyond simple cost.