2004 | Number 2
 


Microsoft's Pilot of TSP Yields Dramatic Results

CERT/CC Instrumental in National Security Effort

SEPG 2004 Showcases Enterprise Process Improvement in Orlando

 


Calculating Return on Investment for Software Product Lines

 

Read previous
installments of
the news@sei columns

Read previous features
from news@sei

 

If you would like
to be notified
when news@sei
is published,
send a request to
our news-editor.

 

 

Calculating Return on Investment for Software Product Lines
PAUL CLEMENTS

Product line engineering has become a widely used methodology for the efficient development of complete portfolios of software products.1 The core idea of the approach is to regard the development of a set of products as a single, coherent development task. This approach has been shown to produce orders of magnitude economic improvements over one-at-a-time software system development.

The SEI is helping organizations understand the benefits of product line engineering. Often, the first thing a manager in an organization considering product lines wants to know is the return on investment (ROI) for changing the company’s development strategy. Until now, however, most of the economic arguments supporting the switch to product lines have been based on data derived from individual case studies,2, 3 convincing arguments based on rationality and simplistic cost curves.4 Existing models of product line development costs for the context of reuse can be applied only in a restricted way, as product line development makes some fundamental assumptions that are not reflected in these models.

 

A Product Line Economic Model

Recently, a small project team at the SEI has begun to work on the problem of calculating the cost benefit of the product line approach. The model is based on four cost functions:

  • Corg() is a function that, given the relevant parameters, returns 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() is a function that, given the relevant parameters, returns the cost to develop a core asset base suited to satisfy a particular scope. Ccab differs from Cunique in that it must take into account the cost of performing a commonality/variability analysis, the cost of designing and then evaluating a generic (as opposed to a single-system) software architecture, and the cost of developing the software so designed. Ccab can be invoked to tell us the cost of developing a core asset base where none currently exists, or it can be invoked to tell us the cost of deriving a desired core asset base from one or more already in place.
  • Cunique() is a function that, given the relevant parameters, returns the cost to develop unique software that is not based on a product line platform. The result might be a complete product or it might be the unique part of a product whose remainder is built atop a product line core asset base.
  • Creuse() is a function that, given the relevant parameters, returns the development cost to reuse core assets in a core asset base. Creuse includes the cost of locating and checking out a core asset, tailoring it for use in the intended application, and performing the extra integration tests associated with reusing core assets.

These cost functions are not mathematically rigorous, but they do let us break down the costs into more manageable analytical chunks. They don’t actually “return” values, but let us perform thought experiments, use legacy data, or invoke more conventional cost models on smaller pieces of the problem. Hence, the cost of developing a software product line from scratch can be expressed as

where n is the number of products in the product line. Other situations can be similarly formulated, and the cost of building and managing the evolution of a product line can be compared to the cost of building the same systems from scratch. ROI is simply cost savings of doing things the new way divided by the cost of investment – which in this case is usually Ccab + Corg.

 

Third Software Product Line Conference (SPLC 2004)
Boston, MA
August 30-September 2

Software product lines have emerged as an important development paradigm, with an active community of practitioners. The Third Software Product Line Conference (SPLC 2004), to be held August 30-September 2 in Boston, is a leading forum for researchers and practitioners working in the field. The conference will feature technical papers, topical panels, a rich selection of tutorials and workshops, demonstrations, birds-of-a-feather meetings, and new inductions into the Software Product Line Hall of Fame.

For more information about SPLC 2004, visit http://www.sei.cmu.edu/SPLC2004.

 

We hope this simple model will prove useful in helping software development managers or corporate decision-makers understand the cost benefits they might expect when switching to the product line approach. Our team is working to expand the model to include the non-cost benefits of product line engineering, such as higher quality and decreased time to market.  We are also seeking real-world opportunities to put the model to use.

 

For more information, contact—

Customer Relations

Phone
412-268-5800

Email
customer-relations@sei.cmu.edu

World Wide Web
http://www.sei.cmu.edu/productlines/



[1]

Special Issue on Software Product Lines. IEEE Software 19, 4 (July/August 2002).
http://csdl.computer.org/comp/mags/so/2002/04/s4toc.htm

 

[2]

[2] Clements, P. & Northrop, L. Salion, Inc.: A Software Product Line Case Study (CMU/SEI-2002-TR-038, ADA412311). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2002.
http://www.sei.cmu.edu/publications/documents/02.reports/02tr038.html

 

[3]

Knauber, P.; Bermejo, J.; Böckle, G.; Leite, J.; van der Linden, F.; Northrop, L.; Stark, M.; & Weiss, D. “Quantifying Product Line Benefit,” Proceedings of the Fourth International Workshop on Product Family Engineering, Bilbao, Spain, October 3-4, 2001. Heidelberg, Germany: Springer-Verlag, 2001.

 

[4]

Weiss, D. & Lai, C. Software Product-Line Engineering. Reading, MA: Addison-Wesley, 1999.

 
   
 
Copyright © 2004 Carnegie Mellon University. All rights reserved.
 
 

 

 

Credits Editor in Chief:
Janet Rex

Production:
Barbara White

Editorial Staff: Hollen Barmer
Carol Biesecker
Bill Thomas
Barbara White
Editorial Board:
Stephen Blanchette
Lisa Brownsword
Paul Clements
Eileen Forrester
Mindi McDowell
Sally Miller
Bill Pollak