software reuse: is it delivering? - CiteSeerX

51 downloads 49958 Views 694KB Size Report
pro and con, that software reuse is delivering. ... five being the best possible rating. 1. .... in-house. Based on this experience delivered software is written in C by ...
SOFTWARE

REUSE: IS IT DELIVERING?

ModeratoE

William

B. Frakes, SPC

Panelists:

Ted J. Biggerstaff, MCC Ruben Prieto-Diaz, SPC Introduction

Kazuo

Matsumura,

Wilhelm

Schaefer, U. Dortmund

5. The experimental many field

William B. Frakes Software Productivity Consortium Herndon, VA 22070

Toshiba

evidence

has been validated

If our panel

members

feel that reuse is delivering,

they will tell us how large the quality

and productivity

The purpose of this panel is to examine the evidence,

increases are, what level of reuse produced

pro and con, that software

what factors

account

Our

respondents

cide whether

software

reuse is delivering.

reuse is delivering

agree on what reuse is, and on criteria its success. Ted Biggerstaff it has promised.

To deliver,

and repeatable ductivity

infield

increases in software settings.

tools and methods itself,

Other

support

quality

of the primary

goal of increased

reuse by

quality

Panel members will use the following reuse is delivering.

After

in

five being the best possible

listening

additive

and

to a series of speakers, each promising

productivity

suspiciously

is no evidence

increases in software

that

quality

reuse

is producing

soon our inter-

development

will

reusability

Unfortunately,

Hyperbole

and productivity.

bullet

increases in software

3. There

quality

is quasi-experimental

is producing

increases

and quality.

and productivity,

evidence

in software

hyperboles

software

than software

be applied

of magnitude

be so effi-

a profit.”

As in this

often strain cre-

reusability reusability

reusability universally

hyperbole reality.

is not a silver and casually to

increases

in productivity

On the other hand, it is a technology

in the hands of the skilled can be of significant to software development and maintenance.

that reuse quality

activities

notwithstanding,

that en

reap orders 2. There is aneedotal evidence that reuse is producing

summing

“If this keeps up, pretty

dulity.

rating.

were

one wag was heard

to comment,

story, software

with

that

nal software

is more seductive 1. There

increases

close to 100 percent,

cient that they will start returning

scale to evaluate

The wale is ordinal,

in their parts of the world.

Ted J. Bigger.staff MCC

productivity.

whether

is delivetig

and pro-

results

from

from the U.S. will discuss how reuse, as

successes, like better

as intermediate

Schaefer

from Japan, and Ruben

Software Reusability Promise: Hyperbole and Reality

in verifiable

for reuse, and increased

are only interesting

defined,

means.

Wilhelm

Kazuo Matsumura

Prieto-Diaz

what reuse is and what

reuse must result

three

Germany,

for the pur-

I will define what “delivering”

increased

them, and

for the reuse.

we must

for measuring

will define,

poses of the panel discussion,

To de-

in

studies.

There

and

productivity.

are several major reuse hypedmles

that value

that refleet

some measure of truth but unfortunately

overstate

profit of reuse or understate

qualifications

the required

the

and constraints. 4. There

is experimental

producing

increases

evidence in

software

that

reuse

quality

is 1. The

and

factor

productivity.

52

CH2982-7/91/0000/0052$01

.00 @ 1991 IEEE

reuse

technolo~

“is

the

most

important

to success.” This is an aspect of the silver

bullet attitude

and is typified

by statements

I choose Ada, or Object-Oriented or an application

generator

like “If

standards

programming,

ability

then all other factors

to enhance

and careful

components

component

adaptation

interconnect-

of the harvested

to the interconnection

standards.

are second and third order terms in the equation that defines the expected improvement. assured.”

This is seldom

the technology application

Success is

completely

true. While

can have very high impact (as with

generators

for

example),

the application

domain,

is understood,

change within

rate

the domain,

of the development

and so forth.

Yes, the technology

it is not always primary

attitude

Now let’s ask the opposite required

but

factors that foster ●

everywhere

Narrow

stood application technologies

or appli-

with the same expectation reality

is that narrow,

domains

with

and standardized

the most likely

to provide

well

slowly

under-

changing

architectures

a context



of high

successful

domains.

where

defined

merical computation, extent,

product

reuse

lines,

ished in these environments. understood

domains

allow

the use

and increase the amount that

of

can be constructed

Well understood

domains/architectures.

Without

a good model of the application

domain

cult to derive

widely

the appropriate,

(i.e., architectural level

it is diffiapplicable

level designs or im-

components)

to make reuse

payoff. ●

nu-

Slowly changing domain technology.

Components

decay over time and rapid changes in underlying

etc. all, to a greater or lesser

have these qualities

new, poorly

What is

Some of the key

reuse are:

Narrow

application

plementation

stood domains like MIS and business systems, user narrowly

target

abstractions

are

cm be highly successful. For example, well underinterfaces,

succes-

from reused components.

attitude

that one can apply reuse to any problem success. The

the

to great benefit.

aspect of the silver bullet

cation domain

with (soft-

kind of question.

to make reuse successful?

of larger components This is another

infrastructure

nor even a completely

factor.

2. Reuse can be applied

within

a process that is inconsistent

sful reuse effort.

organizations, is important

policy and enattitude

factors. An anti–reuse

ware and process) can doom a potentially

of technology

the cultural

and policies

independent

of

our .urocess.

vironmental

reuse or a weak, unsupportive

the degree to which the the

changing

Reuse is sensitive to many cultural, an organization,

it is quite

sensitive to other factors such as the narrowness domain

4. We can have reuse without

domain

technology

(e.g., new models of parallel-

and reuse has flour-

ism) force reusable libraries

Reuse has flopped

depreciate

in

domains.

to decay and thereby,

in value too rapidly to recapture,

ings, the costs to construct

the libraries

in sav-

in the first

place. 3. Reuse

is a hunter/gatherer

successful activity main

activity.

reuse system is largely

of finding standards,

technical

culture.

out into

the field

willy-nilly.

and gathering assembled



the right do-

ponents

of well and narrowly zational

defined

goals. Tbo general

ponents

a set



or organi-

a set of goals (e.g., we

that support

the need to build inconsistent

such inter-component

compostandards,

on interconnection

Economies

code.

of scale in market.

Build reuse systems

to service areas where there is lots of opportunity to reuse the components.

need a reuse system) or too general a domain (e.g., we need components

reduce

wide stanof the com-

one spends much of the savings from reusing com-

seldom

to accomplish company

Domain

code to connect

nents. Without

up components

are the basis of a high payoff reuse system. Successful reuse systems are crafted

standards.

and thereby,

specialized

of going

libraries

Inter-component

dards enhance the interconnectability

and the right

It is not simply a matter

Casually

a

an intellectual

the right domain, the infrastructure

“Making

because abstractly

all of our func-

ware is being built

Such opportunities

arise

speaking, the same kind of softover and over again.

tional needs) usually lead to a low payoff. The hid●

den truth in this attitude is that populating a reuse library is largely fieldwork and that the gold” is in the domain. lem

driven

But the success comes through harvesting,

establishing

Economies of scale in technologies. Big components payoff better than small components because the interconnections

prob-

defect removal

domain

53

costs are lower and the

costs are lower.



Infrastructure

support.

major benefit

Most

through

cess in a well defined The

actual

mated

direct

real role (process

able and quite critical

has an 80 percent

their

manner.

savings

modest.

Reuse in a Medium-Size

of auto-

Nevertheless,

definition)

effect and all of the rest has a 20 per-

cent effect.

the reuse pro-

and unavoidable

productivity

tools is often quite

their

tools provide

establishing

is quite

Wilhelm Schaefer University of Dortmund and STZ Gesellschaft fuer Softwaretechnologie

valu-

to the success of the reuse

process.

A major part of STZ (a medium is building

Some associated

technologies

the above mentioned

that (in the context

factors)

of

enable reuse are

(mostly

Libraries.

The libra~

technology

and delivering

ing a concrete

studies.

reuse by its existence

this software increases

However,

first

response

initiative

is to build

a library

system,

then

have not yet thought

enough

about the

more important

UNIX

they

Modula-2

quality

an experby field

being

in C by partially

systems. The main value of classifi-

terfaces

cation systems is that these systems force the issue the problem

and application

applied

either

in Modula-2

mainly

delivered

in-house.

software

reusing in particular

is written

components’

from

for reuse of interfaces

for or C.

used for building

and evaluated

and tool architectures

Examples

do-

is mainly developed

written

is the language

prototypes

factors.

being produced

workstations

Based on this experience

in-

the prototypes.

(and partly

reuse of

code as well) are especially basic services for the men-

main.

tioned CASE

tools. Their

presentation thereby,

value lies in establishing

system for dealing

including

more abstract

reusable

(and therefore,

a re-

ORACLE

that are

more widely

programming

main value is in the perspicuity tion and its tendency reusable

frameworks) tions).

than in earlier

larized,

In summary, cess model

classes

languages

the object-oriented

tures of technologies,

by a few general

and

from

surefire

but in the end, the details

by hard technical

strong focus on the application

are modu-

types like menu,

of

a

mes-

They can

suitable

this architecture

anew sys-

serves as the basis

design of the new system.

as a basis for

for

support

components,

of

modular

Whenever

@ also

calculating

costs, man

or hindering

reuse in our

etc.)

technology

us away

blocks of our sys-

coarse-grained

case are a very good domain

that

of success and warn

system).

have been predefine.

The major issues enforcing

mix-

in the direction

window

have been defined.

serves b.t.w.

and cultures. principles

terms

for the detailed

or one pro-

It is many different

based on

ones if needed. Reuse of tool architec-

tem is to be built,

months,

process models

failures,

in

architecture

(i.e., func-

point

success are defined

tem

designs.

or one culture.

(either

tures means that the basic building

and

elegant

reuse is not one technology

We can be guided

e.g., specific

more complex

representa-

more

applica-

either be reused as they are or even be used to build

The

of the representa(i.e.,

tends to lead to clearer,

more compact

data base interfaces

The point to make is that these interfaces

reus-

to foster larger and more ab-

components

Further,

languages.

developed

systems (based on X-Windows)

or a selfmade object management

sage, table, selection

Object-Oriented

stract

tools like in-house

and special

with designs and

components

CASE

tion specific window

able) than code.

tion

in software

this is mainly

in

shows

result and has not yet been validated

The software

to a reuse

probably

of understanding

clearly

more than by its functional-

ity. If an organization’s

Classification

and in

producing

imental

that fosters

house)

tools

data base design tools. Our experience

success factor but its value lies largely in establishprocess infrastructure

CASE

particular

and productivity.

is not a primary

size software

customized)

that reuse is producing

other

Software House

also willing

describing

knowledge,

reusable

for developing

a proper

components,

and retrieving

a

these

and last but not least skilled staff who is to reuse other peoples’

work.

analysis and a

and problem

domains.

Understanding

the domain

ture of a tool architecture,

I suspect that there is an 80/20 rule here. The domain

54

means to have a clear pici.e., what are the basic ser-

vicesin

such an architecture

words), what components what components are customized

in other

proaches

have mostly to be adapted,

(orthekemel

software

have always to be there

extensions.

and what

components offers,

ponents,

proper

A clear module

helps a lot in defining interfaces

decompositions.

nology

who haven’t

like modular

decomposition,

abstraction,

functional

pressed in modular ing experienced the knowledge programming

and main-

in this tech-

information

structures.

in writing

hiding, data

In addition,

a lot of uncontrolled bottlenecks

semantic

tricks”

using

structures

thus

side effects. so far are first of all

definitions

The usual informal

of component

descriptions

given

we are aware of the fact that a widely appli-

still an open research

specifications

issue. In addition,

is

it would re-

quire highly skilled staff. The lack of skilled staff is in fact the second bottleneck. ling reuse already modular exploited

A lot of technology

exists (like

enab-

the above mentioned

design, data abstraction

etc.) but it is not yet

because of a serious lack of skilled people

who are able to effectively

apply it.

Software

Kazuo Matsumura Corporation, Systems & Software Engineering Laboratory 70 Yanagi-Cho, Saiwai-Ku, Kawasaki 210, Japan Approaches paradigms

are applied

opment,

and different

methods

development

to Software

stages. Similarly,

proaches to software

at the same

reuse is to cross

Standard

most

general

Approach

Component approach

Approach among

proaches and can be effectively ect. The SCA standardizes and provides develops

all

his software

the basic function

approj-

groups

The programmer

while combining

lacking

is the

reuse

used in real-life

them as components.

nents and creating

(SCA) the

these compo-

functions.

from

the Common

Utility

proach in that the SCA aims at standardizing tion-dependent

functions

while the Common

Approach

only standardizes

low-level

the other

hand, the Program

However,

domain patterns

is

the usage of

this approach can only be used

domains.

The business application

is such an example, because the combination can be relatively

The process control ness application,

easily specified.

application,

is analyzed

SCA is used. The following teristic

On

Approach,

synthesis technique,

to the SCA in that it considers

the patterns.

Utility

functions.

Generator

which is based on component

Ap-

applica-

instead of the busi-

in our study. Thus, the summarizes

the charac-

points of view of the SCA we employed.

1. Application

Domain:

Components

of the products

left unchanged

are aimed to

family, where the ar-

is the same and will be

for a certain

time period

(2 to 5

A component

is a set

years). 2. Definitions of software

of Components: modules prepared

nent consists of programs, and so forth.

Components

for reuse. Acompo-

documents,

test data,

are used not by individ-

uals but by a group of members.

Reuse for software

devel-

are used for different

T~es: Components are Black-box 3. Component and Object-based. Black-box means the invisibili-

ap-

ty of the internal

1 shows typical ap-

for programmers,

there are different

reuse. Figure

The

chitecture

TOSHIBA

Different

Component

be used for a specific product

Software Reuse - What Is Different With Ordinary Development? -

Different

and cultur-

tool support

one after another.

in a few restricted

However,

such formal

Standard

superior

language cause a lot of misunderstandings. enabling

do not always

organizational

time. The major subject of software

The SCA is different

in natural

cable technique

domain.

people be-

C even try to circumvent

about memory internal

the lack of formal functionalities.

just being ex-

by all kinds of “dirty

The major identified

to to

these approaches

methods, and efficient

these hurdles

to use concepts

decompositions

structures

approaches used, according

are only

etc. In many cases, even if they try, results

are purely

modular

like com-

architectural

people

been educated

however,

concept

exist.

In the end, it is hard to convince

Presently,

al background,

such languages

of components

base to

proper

and proper

Of course,

libraries

These

of each application

i.e., compo-

widely accepted if tool support for building taining

the properties

have established

and architectures,

nent interconnections. Modula-2

used.

This issue is highly related

to the second one, namely a proper technology describe

currently

reuse must be selectively

specification

of the components

and thus clarifies

the responsi-

bility for the quality grammers means

assurance without

tamper

with

them.

the implementation

type mechanism. used to abstract

of the abstract

Object-based common

components

resources

and hardware.

therefore,

the object-based

component

plemented

as a package.

The ratio of reuse of components

are

tion on a certain project.

was counted for individual

operational

that

components

ject-based

may be

component.)

The

preparation

and the development different

6.

of components

of products

in terms

component.

are assigned to

components

process

to

The product

architecture

each

obhow-

can be better

of the frequency

In each project,

of use of each

managers felt that the la-

bor of making the components

groups.

5. Development

belong

In view of productivity,

ever, it seems that the effectiveness

as a library.

Organization:

(R should be noted here that

the number of components

evaluated 4.

was about 60 per-

cent or more. Thble 1 shows the results of our evalua-

In Ada,

can be im-

component

and quality is

data

In some ordinary-type

the object-based

implemented

productivity

as follows:

(i.e., objects),

which are found in software

languages,

tion of the SCA concerning

letting pro-

Object-based

would be paid off if the

are used three times or more in average. component-conscious

design and

design in the system design stage should be em-

severe testing decreased the occurrence

of bugs by 20

phasized in advance. This enables the component

percent

development

integration

process to be independent.

Planning/Design planning

Criterion:

In

the

stage, objects are found

tion of the real-time nent classification Then,

SA method.

7. Tmlx

component

at the time of software

Formula

sign) and its support

tools

A)

from objects. invoking

called TFF

for Fifty

Reuse (Project

Next, a comporelaNo of programs

A design technique

system

testing.

Wible 1. Results of Component

are defined.

Description

to 30 percent

by the applica-

table is generated

layers based on component

tionships

In view of quality,

32 modules I program on average

(Technical

steps/module

de-

are used to prepare

components.

1

I60%(*2)

Usage of components What is the Difference? Person level

The SCA has no drastic

departure

proaches toward software

development.

enting

proven

engineering ,rgtiat ion level

methods

key aspects of the SCA from

ap-

in software

be a shortcut

reuse. The following

typical

Thus, implem-

and concepts

would eventually

sful software

from

to succes-

summarizes

the different

some

points of

view Automatic

1. Development

lewl

paradigm:

system framework that of components Figure Evaluation

1. Reusability

of Standard

projects

Approaches

Component

The SCA has been applied

essential

Reuse

to several projects.

are for

medium-sized

several hundreds

of thousands

software

2. Those

containing

(see Figure

Application domain

to narrow rather

of steps. The evalua-

56

domain:

is narrower it down

Both

standardization

for a top-down

approach

for a bottom-up

of and

approach are

2). The

successful

than expected. to a specific

than to cover a broader

application

It is necessmy product

field.

family,

3.

Number

of components:

number

of components

several

hundred

operational grammer

Experience

tells that the

in an adequate

domain

Design

is

to no more than one thousand

components.

However,

knows only a fraction

each

pro-

of this number

at

m

the most. Software System Design B.mction

4. Market

Scale: Software

to those product

reuse would be effective

families

where the products

~%mOnDatd

F=iii=4

are Program Wlgn

manufactured cation

repeatedly.

It would deserve appli-

if three or more manufacturing

expected for the product

cycles are

Module Decomposition Module Specification

Prepared Component (independency/abstraction

Standardize Component

family. Figure

2. Paradigm

of Standard

Component

Approach 5. Interface

between

sign between

components:

components,

bottom-up

design of the component top-down

functional

de-

Especially

a platform

and determining

the extent

of enhancement

would

subjects to facilitate

Ruben Prieto-Diaz Software Productivity Consortium Herndon, VA 22070

as well as

breakdown.

selecting

Reuse in The U.S.

interface

is important

beginning, technical

For interface

at the

Reported

be important

the bottom-up

de-

reuse success stories confirm

Data Services, illustrate

sign.

tors in perspective. technical 6. Introduction

of CASE:

Introduction

lower CASE tools are promising environment

that promotes

of upper/

as a standardized

software

Ted Biggers-

taff’s hyperboles and realities. The three reuse experiences described below, Raytheon, Fujitsu, and GTE

main,

Focus has typically

factors

economic,

the need to keep several fac-

leaving

aside

and cultural

been in the

organizational,

issues. These

doexperi-

ences show that the key to success is the integration these factors

into weli defined

of

reuse programs.

reuse. Raytheon An often quoted

7. Development

cost and management

components

are not obtained

by dividing

existing

software.

tion that the components analysis and review essential.

cost: Useful

just by collecting Under

are used by a third party,

of the components

So managers

or

the assump-

would be

should be reminded

component

development,

maintenance

require

management,

successful

one of the first reported tems Division,

Information

nization

[Lane79].

They

business

application

reuse story and probably

is Raytheon’s observed

that

was established

and reused. A reuse

to analyze their existing soft-

ware and to exploit reuse. Over 5000 production

and

BOL

source programs

were examined

ness applications

to accomplish velopment. ponents, continuous

Managers

standardization

must have a firm will and component

In order to let programmers it is necessary for managers education

regarding

de-

use comto provide

components.

dardized

These logic structures

and a library

fied components New

standard

were stan-

was created to make all classi-

available for reuse. Several modules

were also redesigned tures.

edit, up-

that most busi-

fall into one of three logic structures

or design templates. policy

CO-

and classified.

Three major module classes were identified: date, and report. They also discovered

8. Thorough

6W0 of all

that

their own costs.

Sys-

designs and code were redun-

dant and could be standardized program

Missile

Processing Systems Orga-

to fit the standard

application

logic structures

are slight

logic struc-

variations

of the

and are built by assembling

modules from the library. Programmers use the library

and in the new method

when a logic structure appli~tion.

of recognizing

This program

of the AMI? tion volume

has

for over six years. They report

reuse level were given bonuses of budget ex-

tensions. GTEDS

can be reused to build a new

Reuse is compulso~.

been in operation

certain

are trained to

14!Z0reuse in the first year

Considering

GTEDS

software

(about 700 programmers)

into $1.5 million

an

reported

in savings. Their projected

average of 60% reused code in their new systems and

1995 are 5WZ0reuse with an estimated

a net 5090 increase in productivity.

savings.

Fujitsu

Hyperboles

Fujitsu’s

Software

Development

for

Switching

Systems (SDESS) Program approach

They analyzed

ESSS, cataloged,

mented

each in their



to reuse [Hash87].

Information

confirm

programs

change

tions

Center

analysts, software

signs and customers

domain

experts. Library

its original

catalogs.

projects

to formally

ment

reports

(between

software

include

for

by including

in all design and software



measured

being on time. Before of 300 projects number

in percent

(AMP)

ISC

the SDEES program

is a corporate

projects

approach

Management

wide program

that

with

analyzing

their existing systems to identi&

features.

GTEDS

reusable assets. Assets are any software (designs, documents,

and select

Wrary

tem.

teams

created

the

library,

reusers. Instead tice, GTEDS rewards.

Narrow

promote

of making

established

Programmers

each component

accepted

of the month”

of incentives

into the libra~

award was established

and Fujit-

Infrastructure

support

is essential.

organizational

All three cases structure

with

All

three

roles.

Extensive

management

support.

dependently

funded.

The library

is a support

directives

and are in-

At

tool not the objective

GTE

DS, for

of a

example,

the

in 1990 it contracted

tired and several others were merged to form sub-

to

systems or packages. Many of these assets are being converted to macros and included into their

prac-

applications

and

to 128. Several assets were re-

generator

can be inserted

directly

Iibraxy was instrumental

where

they

into new applications

environment

The

to arrive at this stage but

it is no longer

essential.

Classification

was instrumental

their

A “reuser



for those whore-

used the most, and managers who’s projects

applications

sys-

and royal-

each time

were reused in new projects.

domains are more effec-

business

was

and support

reuse a compulsory

authors

sys-

number of assets in 1988, for example, was 190 and

are paid $50 to $100 cash for

ties were paid to program components

then

reuse,

a program

library

DBMS.

well understood

reuse program.

or to-

The collection

were



work product

into an automated

specialized

is not different

and Raytheon’s

spawned from management

ap-

classified and cataloged Five

Center

Fujit-

began

code) that can be partially

tally reused in a new application.



[SC87, Prie91].

to reuse is a mix of the previous some novel

of

Program

created to “devel-

in the organization

to

to take advantage

su’s ESS show that to be the case. ●

Asset

de-

suggested

but not essential.

Support library

tive. Raytheon’s

only 20%

With SDEES,

proaches

maintain

is important

specific supporting Services’

had to check previous are (strongly)

tem is based on a typical

to 70Y0.

op a reuse culture” Their

Technology

have a well defined

Data

in all three organizacan be reused before

requirements

su’s Information

GTE DS GTE

develop-

in software

of current

were on schedule.

increased

their

than a regular

reviews. Fu-

improvement

and designers

software

and com-

all software



development

points:

existing designs.

and

the ISC in their develop-

is accomplished

a significant

modify

reference

software

archives,

It is compulsory

cycle. This

staff members jitsu

staff roles include

designers),

mercial

reuse experts, and ESS

support

the

have to check what

coding

desk, cross reference

the following

ment process. Programmers

and docu-

Support

Reuse

(ISC). The ISC is a regular library staffed with systems engineers,

in

has taken a sim-

pler and more pragmatic previous

figures for

$10 million

and Realities

These experiences

Electronic

produc-

this translates

and structuring

achieved

ger in the Raytheon

58

in understanding

the domain. The evidence is stronand GTE DS experiences.



All three are financially

To answer the panel’s

successful.

presented

confirms

evaluation

that current

level four when implemented These and other not as widely reported periences

(e.g., AT&~

Hartford

have led

to start their own corporate

programs.

them

Packard, SAIC, Dynamics,

comprehensive ganizational,

Boeing,

and Harris.

are: IBM, Hughes,

domain,

Motorola,

to make reuse programs ments in these programs

References [Hash87]

Hashlmoto,

ing visit to Fujitsu

K. Company

presentations

dur-

Ltd., Tokyo, June 1987.

issues.

[Lane79]

Lanergan,

R.G. and Poynton,

able Code The Application of the Future.”

In Proceedings

GUIDE

Software

October

1979.

[Prie91]

Prieto-Diaz,

B.A. “Reus-

Development

Symposium,

Technique

of the IBM IBM,

SHARE/

Monterey,

CA

in models and techniques Initial

invest-

have been high in time and informally.

technology

and productivity

capable we are at implementing hensive reuse programs

at

properly.

General

trend towards

more efficient.

of reuse as an effective quality

Hewlett

and cultural

money, and have been implemented ing software

reuse

that also address or-

economic,

There is a need and interest

future

Contel,

This is a definite

reuse programs

reuse is delivering

and practiced

successful ex-

Insurance)

some organizations Among

scale, the evidence

The

Classification

for Software

of the ACM,

(April

“Implementing Reuse”

Faceted

Communications

1991).

for improv[SC87] Swanson, M.E.

depends on how

efficient

R.

and S.K. Curry,

ing an Asset Management

and compre-

vices.” Information

at low cost.

59

Program

Management

“Implement-

at GTE Data SerVol 16, 1989.