home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.umcs.maine.edu
/
2015-02-07.ftp.umcs.maine.edu.tar
/
ftp.umcs.maine.edu
/
pub
/
WISR
/
wisr6
/
proceedings
/
ascii
/
malan.ascii
< prev
next >
Wrap
Text File
|
1993-10-19
|
19KB
|
370 lines
Motivating Software Reuse
Ruth A. Malan
Hewlett-Packard Laboratories
1501 Page Mill Road, Palo Alto, CA 94306
Tel: (415) 857-7909
Email: malan@hplabs.hp.com
Fax: (415) 857-8526
Abstract
In order to achieve levels of reuse that support attainment of the organization's objectives,
a comprehensive approach to motivating reuse among all relevant players in the organization
needs to be developed. This position paper explores some of the issues that arise in motivating
reuse at different levels in the organization. It posits that an integrated solution that relies on
organizational self-knowledge to align reuse incentives with reuse goals and the organization's
ob jectives will be more effective than isolated attempts to eliminate the symptoms of reuse
inhibitors.
Keywords: reuse, incentives, economics, funding models, performancemeasures, organizations,
management.
Workshop Goals: exchange perspectives on organizational and management aspects of sys-
tematizing software reuse; networking.
Working Groups: reuse incentives, management, organization and economics; reuse process
models; and reuse maturity models.
Malan- 1
1 Background
Under the visionary leadership of Martin Griss, HP Laboratories' Software Reuse Department
(SRD) has put together a multi-disciplinary team to investigate the business, organizational, cul-
tural and technical aspects of creating effective, reuse-based Flexible Software Factories (FSF's).
During a Summer internship with SRD in 1992, the author participated in this research program,
focusing on business issues. Continuing this work with the SRD-FSF team,the author is currently
developing an integrated framework forproviding reuse incentives at various levels, incorporating
organizational considerations, funding mechanisms, and project and personal performance evalua-
tions that are consistent with reuse goals.
2 Position
Reuse programs that fail to "get off the ground" frequently share the problem that the incentives
to produce and utilize reusable components are lacking or subverted. For example, when project
managers are held accountable for increased costs and pro ject delays, they tend to avoid reuse
investments. In such an environment, an edict to produce reusable components is not likely to
be very effective since it conflicts with project's cost/schedule p erformance. Other "knee-jerk"
responses to the symptoms of reuse inhibitors may be misaligned with reuse goals. For instance,
cash bonuses for component deposition may give rise to a large but worthless library. This is not
to say that cash bonuses are necessarily bad, but that unlessthe overall picture is considered, the
attempted "solution" may have undesirable consequences.
It is generally recognized that attempting to eliminate a symptom rarelysolves the root problem,
yet this is precisely what we often observe in the case of reuse. To be fair, high pressure, tight devel-
opment cycles make it hard to distinguish problemsfrom symptoms. It is, therefore, important to
invest in up-front analysis to develop a systemic understanding of the software development organi-
zation, it's goals, processes, people, opportunities and challenges. Armed with this self-knowledge,
the organization is better able to create an integrated solution to theproblem of achieving levels
of reuse that are aligned with it's overall objectives.
2.1 Getting Everyone "On Board"
2.1.1 Incentives at the Software Engineer Level
Extrinsic Incentives
A number of companies, including Motorola [1], and Hartford Insurance Group [2], have installed
a reward system to counter low deposition and reuse rates of library components. An organization
considering use of rewards should assess how the reward system interacts with intrinsic motivators
such as personal objectives and performance measures. For instance, reuse bonuses may conflict
with the disincentive created by evaluations based solely on lines of new code developed. Further-
more, any proposed reward system should be analyzed to establish whether it does indeed foster
behavior that is consistent with reuse goals. For instance, while flat rate cash bonuses make the
incentive program relatively easy to administer, they do not tie the bonus to the value of the com-
ponent (though a bonus per use at least rewards creation of useful components). A bonus based
on consumer savings is more likely to stimulate production of valuable components.
Malan- 2
Intrinsic Incentives
Different engineers take pride and pleasure in different aspects of reuse-related work. Some software
engineers are motivated by the desire to pro ducemore p ermanent software assets that bear their
stamp of creation through generations of products. Others are more happy to focus on the unique
aspects of customer solutions. Taking into account individual preferences as well as talents when
filling reuse roles will help to align intrinsic motivators with reuse goals.
The argument that there is an inherent motivation to reuse available components whenever doing so
will save effort and time may seem persuasive, particularly when the pressure of tight development
schedules is considered. However, the height of this pressure comes fairly late in the development
cycle, after many of the design and implementation decisions have already been made, so that the
number of code components that will slot into the project at that point is likely to be severely lim-
ited. Therefore, incentives to reuse earlier phase work products need to be considered. Evaluating
the exploitation of reusable work products during inspections at each phase has proved to be an
effective practice in a number of HP's pilot reusepro jects. Thus, reuse is fostered by incorporating
reuse levels in project and individual performance evaluations. Performance evaluations are power-
ful motivators and traditional performance measures cannot be left intact when reuse programs are
initiated. New measures must be designed to take the reuse goals into account. Of course, the or-
ganization is in the business of making products, and reuse is only ameans to that end. Therefore,
care should be taken to ensure that the incentivesystem is designed to motivate reusable component
production and utilization where it effectively supports the organization's broader ob jectives.
2.1.2 Incentives at the Project Level
Divisions, R&D groups, and even project groups are typically responsibility centers and financial
measures are used to evaluate their performance and allo cate rewards and corporate resources.
Where reuse crosses responsibility center boundaries,the costs of reuse reflect badly on the producer
responsibility center if there is no mechanism toreallo catesome of the consumer's benefit to the
producer. In such cases, even if reuse is mandated by upper management and allowances are made to
support production of reusable components, reuse goals tend to be subverted. Because production
of reusable work products does not directly contribute to current pro duct development, it is hard for
project managers to resist raiding reuse producer resources under their control whenever product
development projects come under pressure. While the cost of lost opportunities for the overall
organization may far exceed any lost opportunity cost to the subgroup housing the production for
reuse, it is the latter cost that is both most apparent to product managers and the basis for their
evaluation. Some possible resolutions to this incentive problem are outlined below.
Producer Group as a Separate Cost Center
One way to circumvent the need to redistribute reuse benefits, is to separate component producers
and support personnel from project teams, and make the producer and support groups cost centers.
This approach may still encounter problems if the producer cost center is housed in a divisional
profit center when reuse of the components crosses divisional boundaries. This is because the
division that incurs all of the reuse investment does not receive all of the benefit. If this is the case,
the cost center should be placed at a higher level in the organization.
Barter
One approach to evening out the reuse investment burden is to allocate the development of com-
ponents to members of a "consortium" of development pro jects. This barter system has some
appeal because the exchange obviates the need to establish prices or torestructure the organiza-
Malan- 3
tion. However, as the pressure to get products out rises, engineers tend to get shifted from reuse
production/support activities to more directly product-oriented activities.
Transfer Prices
Transfer pricing is one of the most frequently used mechanisms for providing supplying responsibility
centers with market-like efficiency incentives. Where there isan external market price, that is the
most efficient transfer price to use. In the context of domain-specific reuse, however, it is likely
that in many cases components will be regarded as proprietary and essential to the organization's
competitive advantage, so that no external market will exist. There are a number of other possible
approaches to setting the transfer price. One alternative is toset the total transfer price equal
to the producer's cost, and to charge consumers some portion thereof. Even this approach is not
straightforward in the reuse context, since future reuse instances are uncertain. Bollinger and
Pfleeger [3] identify a number of possibilities for amortizing the producer cost, including flat rate
amortization, biased flat rate amortization, and accelerated amortization. Another alternative is
to allow the managers involved to bargain over the components to be delivered, and the transfer
price to be paid for them.
Incentive to Utilize Reuse Components
Product teams are responsible for the development of products best suited to their target mar-
ket segment, and high levels of reuse are generally attained only at the expense of some degree
of compromise on individual optimization of features and performance. The functionality that
is considered common to a group of products is frequently a decision variable that is subject to
tradeoffs between better suiting individual customer segments, and extending the commonality and
consequent economies of scope in development and maintenance. As a result of the tension between
individual product optimization and product family benefit from reuse, the estimated reuse benefits
and the progress toward attaining the expected benefits should be shared with thepro duct teams
so that they can make informed tradeoff decisions. Fortunately, however, this tension is somewhat
ameliorated in many markets where customers are coming to value greater consistency in product
lines because this allows them to share their investment in training, documentation, peripherals
and the like among related products. This enhances the software development organization's op-
portunity to broaden the scope of common functionality and retain the loyalty of customers to
boot.
2.1.3 Incentives at the Upper Management Level
Upper management support is vital to the success of the program, not only b ecause the investment
in reuse may be high enough to require their authorization, but because reuse entails significant
change in the way project-organizations operate. Organizational change typically meetsresistance,
and high level leadership plays an important rolein instilling a vision that inspires and motivates
those affected by the change. In order to actually achieve the tantalizing rewards from reuse,
projects can no longer be viewed as independent entities that can be managed without attention
to a wider network of projects that extends not just across organizational subunits but into the
future as well. Champions of reuse who have the power to influence all of the affected entities in
the producer-consumer network are needed to encourage commitment to the program.
Upper levels of management are more likely to have a strategic, long term view than lower levels of
management who generally have a more focused, tactical orientation. Long term commitment to
the process is particularly important, because consideration of reuse in the short term may reveal
reuse to be a drain on scarce resources that could prompt management toregard the investments
Malan- 4
as sunk costs and bail out of the program, while a longerterm view could have shown the expected
rewards to be high.
Because management support is so central to the success of the reuse program [4 ], it is vital that
they support reuse when the opportunity cost of not employing systematicreuse is high. Frequently,
managers prefer to err on the side of conservatismwhen the costs, benefits, payback and risks are
unclear. Therefore, the opportunity cost has to be assessed, and this analysis should encompass a
multi-project, long term view that identifies the reuse costs and benefits,and estimates those that
can be quantified with enough confidence to remain credible. The revenue-side benefits of reuse
(including the impact of earlier time to market, higher quality, and opportunities to attack niche
markets with customized products [5]) should not be ignored. Indeed, the strategic benefits of
reuse, such as reduced time to market or enhancedconsistency in the product line, have generally
been more powerful rallying points for top HP managers than reduced costs [6 ].
2.2 Integration and Alignment
All members of the organization need to be aware of, and motivated to achieve, the elusive combi-
nation of enhanced quality,shorter development cycles and reduced costs that reuse makes possible.
Development projects can no longer be independently optimized. Also, it is not good enough for
upper management to issue reuse mandates without getting the other players on board through
changes in organization, performance and incentive systems. Numerous decisions made at the engi-
neering level affect whether or not systematic reuse will be achieved, and it is vital that they believe
that in the long-run everyone gains from the reuseprogram, and are committed to it. Alternatively,
a "grass roots" effort that does not have management support will not achieve its full potential
for it will not have the upfront investment or go-ahead for organizational change to enable full
exploitation of multi-project, long-term reuse opportunities. The incentive problem at each level
should not be approached in isolation, but rather a system solution should be designed to align
reuse goals with organizational objectives and ensure that they are achieved.
3 Comparison
Some of the specific issues addressed in the above discussion have been surfaced in previous work.
For example, Bollinger and Pfleeger's [7 ] Cost-Sharing Domain Banks, and Wolff 's [8] royalties
are intended to address the problem of providing an incentive to produce for reuse through, in
effect, transfer prices. However, transfer pricing is just one alternative in a range of options for
addressing one dimension of the reuse incentive problem. Also,most economics of reuse models (e.g.
[9, 10 , 11 ]) do not consider the strategic, or revenue-side, benefits of reuse. As Wentzel [6] points out,
the various levels of management have different perspectives, and consideration of strategic benefits
may be less important in gaining the support of managers with cost center resp onsibility, but vital
to achieving strong backing by higher level management. The organization and it's objectives need
to be understood, and a comprehensive approach to motivating reuse among all relevant players in
the organization needs to be developed.
References
[1] R. Joos, "So much for motherhood, apple pie and reuse," in Proceedings of the 5th Annual
Malan- 5
Workshop on Software Reuse, ComputerScience Department, University of Maine, 1992.
[2] E. J. Joyce, "Reusable software: Passage to productivity?," Datamation, September 1988.
[3] T. B. Bollinger and S. L. Pfleeger, "The economics of software reuse," Tech. Rep. CTC-TR-
89-014, Contel Technology Center, 1989.
[4] M. Griss, "Software reuse: From library to factory," IBM Systems Journal, to be published,
1993.
[5] R. A. Malan and K. Wentzel,"Economics of software reuse revisited," in Proceedings of ISS'93,
UC Irvine, 1993.
[6] K. Wentzel, "Software reuse - it's a business," in Proceedings of the 5th Annual Workshop on
Software Reuse, Computer Science Department, University of Maine, 1992.
[7] T. B. Bollinger and S. L. Pfleeger, "Economics of software reuse: Issues and alternatives,"
Information and Software Technology, vol. 32, pp. 643-652, December 1990.
[8] F. Wolff, "Long-term controlling of software reuse," Information and Software Technology,
vol. 34, pp. 178-188, March 1992.
[9] B. H. Barnes and T. B. Bollinger, "Making reuse cost-effective,"IEEE Software, vol. 8, pp. 13-
24, January 1991.
[10] J. E. G. Jr. and R. D. Cruickshank, "Ageneral economics model of software reuse," in Proceed-
ings of the 14th International Conference on Software Engineering, pp. 327-337, May 1992.
[11] J. S. Poulin and J. M. Caruso, "A reusemetrics and return on investment model," in Proceed-
ings of the Second International Workshop of Software Reusability (IWSR-2), 1993.
4 Biography
Ruth Malan is participating in Hewlett-Packard's research internship program, working in the
Software Reuse Department at Hewlett-Packard Laboratories for the Summer. Her interests span
the business aspects of software reuse, including business opportunity assessment, reuse cost -
benefit analysis and business metrics; reuse incentives, funding models and performance measures;
and reuse asset management and portfolio planning. She received an MBA from Virginia Tech in
1990, and an M.S. in Operations Research from Stanford University in June, 1993.
Malan- 6