Economics and Reuse

by Jeffrey S. Poulin & Masao Matsumoto

The Economics and Reuse track consisted of a panel moderated by Jeff Poulin of IBM and a working group chaired by Masao Matsumoto of NEC. The panel served to bring out the major topics and issues surrounding the funding and benefits of a reuse program. The working group built on the issues raised in the panel by sharing experiences and the expertise of the working group members and by identifying key areas for future research.

The panel on "Economics and Reuse" presented a debate on current issues related to reuse ROI and business issues. The panel consisted of the following leaders in reuse economics:

  • John Favaro, INTECS Sistemi S.p.A.
  • Wayne Lim, Hewlett-Packard
  • Shari Pfleeger, City University
  • Don Reifer, Reifer Consulting

    The debate followed a "no-holds-barred" format that allowed the panel members to state and defend their positions from attacks made by other panel members and the audience. For each debate category, a panel member presented a PRO position for 5 minutes, another panel member presented a CON position for 5 minutes, then after 2 minutes each for rebuttals, the remaining panel members and audience joined the fray.

    To help illuminate the issues (and to have fun) panel members took extreme (and sometimes outrageous) positions on the following issues:

    1. MEASURING REUSE- what contributes to your economic model? Debate points included: What to count as reuse objects? Does the use of operating system count as reuse? Does code from program generators count? Should your economic model include things like as-is reuse and white box reuse?

    2. EVALUATING AND FUNDING A REUSE EFFORT- how do you fund development of reusable parts and libraries? Debate points included: Should we fund reuse by "fee for service?" Should we evaluate a producer project economically as a profit center or a cost center? Should we allocate the ongoing costs of an existing reuse library/infrastructure in deciding economically whether or not to create a particular candidate reusable workproduct?

    3. PUTTING A VALUE ON REUSE- how do you determine a reuse business case and level of investment? Debate points included: Should we use the percent reuse metric to reflect the economic benefits of reuse? Does multiplying the number of reuses against the number of dollars saved per reuse reflect reuse economic benefits? Will increased productivity from reuse result in shortened time to market, better quality, reduced costs?

    4. THE IMPACT OF CASE TOOLS ON METRICS- how have process and tools affected our economic models? Debate points included: Have CASE tools rendered current metrics invalid? Do the old standards of productivity still apply or just make calculating metrics easier and more accurate? Does code from automatic program generators (generative reuse) really count as reuse? How do metrics accomodate automatic program generators, 4GLs, integrated CASE tools, etc, that effect how we build programs?

    The working group focused on software engineering evolution in the recent past, especially with respect to automatic support for reuse in CASE tools and other software development environments. The major change comes from people's attitudes to reuse and that what we consider reuse today we tend to discount as "business as usual" tommorow. An example of this comes from "reusing" the knowledge we have about compiler technology whenever we use tools such as lexx and yacc. Therefore, we identified the first research issue as:

    What causes a need-to-change our economic definition?

    Several working group members pointed out that metrics have different interpretations depending on the role of the person reviewing them. For this reason, metrics must focus on the goals of their audience and we must have metrics to support each audience. This led to a second research issue:

    What metrics do each level of developers and management want or need?

    Although the group made no attempt to reach consensus on any issue, the group agreed that despite which metrics we used for each level of management or each audience, we should have a core set of standard metrics for use by everyone. The core set would consist of highly objective values, upon which more technical metrics or business metrics could build. The group also decided that despite all their shortcomings, "lines-of-code" remained the industry standard unit of productivity.

    The working group identified one final research area as the need for reuse metrics to assist in the business planning of products. To date, no one knows of any way to predict the level of reuse on future products. So, the final research area consists of answering the question:

    What metrics provide reliable a priori knowledge of reuse on a project?